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

406

    Vastaukset 12

    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
        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. Jos SDP ei voita reilusti, persut kumoavat demokratian Suomesta

      Näin tekisi ainakin Rydman seuratessaan idolinsa Trumpin mallia https://www.is.fi/politiikka/art-2000012187244.html
      Maailman menoa
      568
      1369
    2. Anteeksi arkuuteni

      Olen säälittävä, mitä tulee sinun kohtaamiseen. Tunnen vaan itseni todella epävarmaksi sun kanssa. Jos minun olisi pitän
      Ikävä
      42
      743
    3. Perussuomalaisten kannatus nousi rytinällä Ylen tänään julkaisemassa tuoreimmassa gallup-kyselyssä.

      https://yle.fi/a/74-20239449 Perussuomalaisilla hurja- ja ylivoimaisesti suurin nousu tässä uudessa Ylen gallupissa. Kyl
      Maailman menoa
      468
      677
    4. Mikä on ollut

      Söpöintä välillämme?
      Ikävä
      34
      509
    5. Kuka melkein täysi-ikäinen hukkui?

      Poliisin mukaan nuori oli lähes täysi-ikäinen. Ennen iltakuutta tulleen ilmoituksen mukaan ihminen oli joutunut mahdoll
      Iisalmi
      4
      499
    6. Olet ihana

      Muru, sä oot ihana. Tunsitko sen sähkön meidän välillä kun oltiin ihan låhekkäin? 👩‍❤️‍👩❤️😼😘
      Ikävä
      37
      470
    7. Tykkäätköhän vielä minusta?

      Yhtä paljon, kuin minä sinusta? Haaveissa ollaan kahdestaan, rauhassa ja lähennytään fyysisesti ja tutustutaan syvemmin
      Ikävä
      27
      464
    8. kenen näköinen

      kaivattusi on ?
      Ikävä
      39
      447
    9. Vihervasemmistofeministinaisasianaiset

      Tulevat tänne palstalle haukkumaan miehiä ja naljailemaan miehelle, kehuvat olevansa heitä parempia. Itse asuvat MIEHE
      Sinkut
      143
      423
    10. Hyvännäköinen pakkaus

      Olet hyvännäköinen pakkaus nainen.
      Ikävä
      22
      402
    Aihe