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

407

    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. Ampuminen kylpylässä

      Onko vornasen timbe käynyt hiukan kylpemässä vai mikä tämä ampumatapaus on kylpylässä? Tuntuu aika villi meno olevan naa
      Naantali
      75
      1729
    2. Naantalin kylpylän ampujat

      Oli somppumatuja. Nyt mennään. Suomi on ruotsi.
      Maailman menoa
      24
      1216
    3. Kemijärvellä vesionnettomuus

      Pitkänsillan ja taiteilijanniemen välillä nähty henkilön painuvan veden alle. Mitä on tapahtunut? Onko vesihiisi taas as
      Kemijärvi
      34
      1102
    4. Hei, voitko kuunnella

      Voisitko auttaa minua selvittämään asioita? En halua ajaa sinua hulluuteen kanssani, en sitoa sinua, en esittää vaatimu
      Ikävä
      135
      933
    5. Joku porukka lähtenyt täältä

      Ihmeen hiljainen on palsta nyt. Yleensä tänne tulvii aloituksia yms, mutta nyt on kyllä erikoisen hiljaista.
      Ikävä
      189
      826
    6. Miten yrität

      Vielä saada kaivattusi?
      Ikävä
      64
      704
    7. Olipa yllätys

      Kuten hyvin moni tiesi/arvasi että valetta alusta loppuun toi *olemme ystäviä* satu. Instassaan käsi kädessä kuva kertoo
      Kotimaiset julkkisjuorut
      192
      629
    8. 75
      619
    9. On todella ikävää

      Todella ikävää, että asiat ovat menneet tällaisiksi. Tämä ei ollut missään vaiheessa tarkoitukseni. Olen tehnyt virheit
      Ikävä
      79
      608
    10. Tuletko tänään

      Jos soitan? Niin... tuletko?🖤
      Ikävä
      49
      571
    11. Se kun olit pitkästä aikaa silmieni edessä

      Oli kyllä sykähdyttävää. Tiedätkö, mikä laittaa minut ikävöimään sinua? Kun palautan mieleeni valtavan ihanan olemuksen,
      Ikävä
      32
      528
    12. Ottanet yhteyttä

      Facebookissa,jos on jotain asiaa.Miehelle! T.M-nainen.
      Ikävä
      55
      517
    13. Muutto auto hakee sut tänään!

      Tein sulle oman huoneen! mieheltä naiselle
      Ikävä
      57
      502
    14. 36
      464
    15. Oletteko koskaan torjuneet kaivattuanne?

      Minä olen, kun en silloin tajunnut vielä ihastuneeni. Yritin paikata tapahtunutta, mutta ei onnistunut enää.
      Ikävä
      25
      457
    16. Kai sä mies ymmärrät..

      ..ettet jättänyt vaihtoahtoa. Tottakai toivon vielä, että pystyisit toimimaan niin että asiat korjaantuisivat. Vahvast
      Ikävä
      28
      432
    17. En tiedä mitä sanoa

      Siksi en vastannut😔
      Ikävä
      33
      423
    18. Jos kaivattusi olisi

      Vieressäsi niin mitä tekisit?
      Ikävä
      40
      417
    19. Kiinni jäit

      Ei olisi uskonut sinusta
      Ikävä
      16
      409
    20. Päivän galluppi

      Minkälainen ehkäisy sinkkupalstalaisilla käytössä?
      Sinkut
      82
      398
    Aihe