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. Mikä kaivatussasi

      on parasta?
      Ikävä
      79
      1130
    2. Mitä haluaisit sanoa hänelle?

      Jos joskus kohtaatte?
      Ikävä
      111
      1130
    3. haluaisin paljastaa

      Kuka tämä :/ on
      Ikävä
      77
      601
    4. Taiteiden yö

      Kuhmon taiteiden yössä tapahtui. Tsat satss saaatts... Ja Sammon takoja... Tsat satss saaatts...
      Kuhmo
      9
      508
    5. Olen jo oppinut tuntemaan

      sinun kirjoitustyylisi
      Ikävä
      47
      503
    6. Hyvää yötä kaipaamalleni

      Vanhwmmalle naiselle, olet rakas❤️❤️
      Ikävä
      17
      501
    7. Mikä kaivatussasi

      on pahinta?
      Tunteet
      44
      465
    8. Nainen, onko se nalle hehkuttelija poistunut keskuudestamme?

      Ei ole näkynyt, joten onkohan. R.I.P :/
      Ikävä
      112
      451
    9. Mikä herkku

      Kaivattusi On? 😁
      Ikävä
      41
      442
    10. Et vaan tajua

      Että rakastan sua
      Ikävä
      15
      416
    Aihe