JavaScript ja nuoli-fuktiot

Anonyymi

Siis en tiedä pitääkö puhua nuoli-funktioista vai nuoli-operaatioista, mutta mihin tarpeeseen nämäkin on luotu, ja kumpi oli ensin. Kerkisin oppia tuon "perinteisen", siis en tiedä onko tämä edes perinteinen, mutta ainakin selvempi tapa tehdä sama asia.

NORMAALI
Funktio palauttaa luvun (18.50€) elintarvikkeiden arvonlisäverolla (alv 14%) korotettuna.
function PlusAlv14(a) { return a ( a / 100 * 14 ) };
PlusAlv14(18.50)
21.09€

NUOLI-FUNKTIONA
Funktio palauttaa luvun (100€) yleisellä arvonlisäverolla (alv 24%) korotettuna.
var PlusAlv24 = a => { return a ( a / 100 * 24 ) };
PlusAlv24(100)
124€

Miten rajaan paluuarvon desimaalit kahteen?

12

380

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi
      • Anonyymi

        Ahaa, se oli siis toFixed(2) jolla nuo desimaali rajataan.
        Kiitosta paljon, hyvä.


      • Anonyymi
        Anonyymi kirjoitti:

        Ahaa, se oli siis toFixed(2) jolla nuo desimaali rajataan.
        Kiitosta paljon, hyvä.

        DelimitDecimals(2) olisi osuvampi nimi tuollaiselle funktiolle, hakukin onnistuisi helpommin.


      • Anonyymi

      • Anonyymi
        Anonyymi kirjoitti:

        Helppohan tuo haku oli, ehkä sekunti meni elinaikaa.

        https://duckduckgo.com/?q=javascript number decimals

        Tärvääpä toinen sekunti, ja hae miten tuo piste tulisi paluuarvossa pilkkuna.


      • Anonyymi
        Anonyymi kirjoitti:

        Tärvääpä toinen sekunti, ja hae miten tuo piste tulisi paluuarvossa pilkkuna.

        Sehän on tietysti toLocaleString().

        let a = 12.345
        a.toLocaleString();
        //"12,345"


      • Anonyymi
        Anonyymi kirjoitti:

        Tärvääpä toinen sekunti, ja hae miten tuo piste tulisi paluuarvossa pilkkuna.

        Metodilla toLocaleString() saa muotoiltua maakohtaisestikin. Suomen maa-asetuksella tulee desimaalierottimeksi pilkku. Voi käyttää suoraan valuuttamuotoakin.

        const PlusAlv24 = (a) => (a (a/100*24)).toLocaleString('fi-FI', {style:'currency', currency:'EUR'});
        console.log(PlusAlv24(100));

        Tuloste:
        124,00 €

        Jos haluaa pelkän luvun kahdella desimaalilla ilman tuhaterottimia, niin vaihtaa muotoiluksi:
        {minimumFractionDigits: 2, maximumFractionDigits: 2, useGrouping: false}

        Tuosta löytyy enemmän tietoa kyseisestä metodista: https://www.techonthenet.com/js/number_tolocalestring.php


      • Anonyymi
        Anonyymi kirjoitti:

        Sehän on tietysti toLocaleString().

        let a = 12.345
        a.toLocaleString();
        //"12,345"

        Ai niin, halusit tietyn määrän desimaaleja. Se ottaa toisen parametrin options, johon tuon voi määrätä:

        let a = 12.3456789
        a.toLocaleString('fi', {minimumFractionDigits: 2, maximumFractionDigits: 2})
        //"12.35"

        Ilmeisesti laitettava nuo min ja max, muuten saattaa tulla yksi desimaali liikaa.


      • Anonyymi
        Anonyymi kirjoitti:

        Ai niin, halusit tietyn määrän desimaaleja. Se ottaa toisen parametrin options, johon tuon voi määrätä:

        let a = 12.3456789
        a.toLocaleString('fi', {minimumFractionDigits: 2, maximumFractionDigits: 2})
        //"12.35"

        Ilmeisesti laitettava nuo min ja max, muuten saattaa tulla yksi desimaali liikaa.

        Locale pitää antaa kait muodossa 'fi-FI', muuten taitaa käyttää defaulttia. Ubuntussa näkee komennolla 'locale' ja sieltä kohta LC_NUMERIC=fi_FI.UTF-8. Rahayksikön määrittää LC_MONETARY.


      • Anonyymi
        Anonyymi kirjoitti:

        Metodilla toLocaleString() saa muotoiltua maakohtaisestikin. Suomen maa-asetuksella tulee desimaalierottimeksi pilkku. Voi käyttää suoraan valuuttamuotoakin.

        const PlusAlv24 = (a) => (a (a/100*24)).toLocaleString('fi-FI', {style:'currency', currency:'EUR'});
        console.log(PlusAlv24(100));

        Tuloste:
        124,00 €

        Jos haluaa pelkän luvun kahdella desimaalilla ilman tuhaterottimia, niin vaihtaa muotoiluksi:
        {minimumFractionDigits: 2, maximumFractionDigits: 2, useGrouping: false}

        Tuosta löytyy enemmän tietoa kyseisestä metodista: https://www.techonthenet.com/js/number_tolocalestring.php

        Tämä on hyvä, taas kerran kiitän. Tuo EUR oli enemmän kuin osasin pyytää.


      • Anonyymi
        Anonyymi kirjoitti:

        Tämä on hyvä, taas kerran kiitän. Tuo EUR oli enemmän kuin osasin pyytää.

        Minäkin kiitän.


    Ketjusta on poistettu 1 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Porvarimedia: Räsänen vei Lindtmanilta pääministerin paikan

      Lisäksi suomalaiset ovat innostuneet tuhlaaman, koska kuluttavat inflaation verran enemmän rahaa. Eikö porvarimedialla
      Maailman menoa
      72
      3024
    2. Ruotsi laskee jälleen bensaveroa, Riikka irvailee tumput suorana

      Euron bensa oli persujen vaalilupaus, mutta kohta alkaa olla kolmosella alkavia litrahintoja. Meanwhile in Sverige: "
      Maailman menoa
      63
      2609
    3. SE TAPAHTUI - Pekka Aittakumpu: Avioero

      Perussuomalaisten kansanedusta Pekka Aittakumpu käy parhaillaan avioero prosessia. Aittakumpu on siviiliammatiltaan past
      Perussuomalaiset
      118
      2448
    4. Anita ei saanut Heikkiä pihalle

      Kemijärven kaupunginvaltuusto ei tehnyt tietoisesti laitonta päätöstä. Heikki johtaa kaupunginhallitusta yhäkin.
      Kemijärvi
      89
      1476
    5. Martina Aitolehden rinnalla nähty Matias Petäistö yllättää - Uusi aluevaltaus TV:ssä!

      Matias Petäistö on tuttu Erikoisjoukot-realityn tiukkana kouluttajana. Hän on myös tuttu näky Martina Aitolehden parina,
      Kotimaiset julkkisjuorut
      34
      1296
    6. Drone-epäily Uudellamaalla

      Ihmisiä kehotetaan siirtymään sisätiloihin. https://www.is.fi/kotimaa/art-2000012008358.html
      Maailman menoa
      102
      1023
    7. Emotionalisuuden puute.

      Joillain ihmisillä ei vain ole sitä "jotain". Heille kaikki täytyisi "vääntää" rautalangasta. Mutta heistä ei vaan o
      Sinkut
      193
      994
    8. Sait mut mies heikoksi

      Yllätti tämä asia nyt kyllä. Olet ollut mielessä koko ajan. Ei riitä pelkkä kevät nyt syyksi. Veit jalat alta. Pannaan m
      Ikävä
      85
      950
    9. Sofia Belorf esittelee Dubain kotinsa

      Lääniä on kattohuoneistossa. https://www.is.fi/tv-ja-elokuvat/art-2000011999877.html
      Kotimaiset julkkisjuorut
      155
      877
    10. Huulitäytteet ja tekotisssit

      Kylillä kulkiissa olen huomannut että tässäkin tuppukylässä on hameväki alkanut muokkaamaan ulkonäköään huulitäytteillä
      Suomussalmi
      73
      870
    Aihe