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

314

    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. Heh, Riikka runnoi Suomen BKT:n miinukselle

      Suomi on Riikan irvistysten ansiosta ainoa negatiivisen talouskasvun maa EU:ssa. Ei tästä ainakaan EU:ta voi syyttää, ku
      Maailman menoa
      77
      5471
    2. Erään T miehen viimeinen aloitus tänne

      Moi Olen kirjoittanut täällä säännöllisesti yli 5 vuotta. Kaivannut kuten kuuluukiin, mutta myös unohdellut ja selvitel
      Ikävä
      35
      3225
    3. Sanna vaihteeksi Australian "60 minuuttia" ohjelmassa

      Kansanvälinen superstaramme esiintyi tällä kertaa toisella puolen maapalloa esitettävässä ohjelmassa. Kiinnostus on kova
      Maailman menoa
      123
      2373
    4. HihhuIi-Päivi täpinöissään Viktorin tapaamisesta

      Eiköhän nyt kaikille ole vihdoin selvää kenen joukoissa tämäkin putinisti seisoo. https://www.iltalehti.fi/politiikka/a
      Maailman menoa
      121
      1982
    5. Yritykset verolle ja yritystuet 10 mrd. eur/v pois

      Kiristämistapauksissa yrityksille sanotaan hei hei. Suomi ei tarvitse yhteiskunnan rahoilla "yrittämistä". Yhteiskunta v
      Maailman menoa
      23
      1909
    6. Minkä lempinimen olet

      antanut kaivatullesi?
      Ikävä
      111
      1830
    7. Sanna Antikainen (ps) : Vornasen pyssy suututti demarit

      https://www.suomenuutiset.fi/sanna-antikaisen-kolumni-vornasen-pyssy-suututti-demarit-mutta-kuka-puhuu-totta/ Vornasen
      Maailman menoa
      6
      1509
    8. Yritän saada sinut pois mielestäni ja ajatuksistani nainen

      Turhaan. Mitä enemmän yritän, sitä enemmän haluan sinut ja sinua. Miten voitkaan olla niin ihana ja tuntua niin hyvältä.
      Ikävä
      71
      1472
    9. Björn Wahlroos ykkösaamussa nautittavaa kuunneltavaa

      Ehdottomasti viisaimpia ja tietävämpiä ihmisiä mitä Suomesta koskaan tullut. Naureskeli viherpiipertäjille jotka ihan p
      Maailman menoa
      297
      1445
    10. Nyt meni maku vas.liittoon, kun vaativat minimituntipalkkaa lakiin

      Sehän tarkoittaa samalla myös maksimituntipalkkaa, koska kun laki on kerran laadittu, niin sitä on vaikea muuttaa. Työma
      Maailman menoa
      54
      1300
    Aihe