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?
JavaScript ja nuoli-fuktiot
12
327
Vastaukset
- Anonyymi
Nuolifunktio taisi tulla ES6:n myötä. Makuasia varmaan onko siitä iloa vai ei. Hieman se sotkeekin, kun joka paikassa ei voi edes käyttää.
Desimaalit saa vaikka toFixed()-metodilla. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed
let PlusAlv24 = (a) => (a (a/100*24)).toFixed(2);
console.log(PlusAlv24(100));
Tuloste:
124.00- 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 kirjoitti:
DelimitDecimals(2) olisi osuvampi nimi tuollaiselle funktiolle, hakukin onnistuisi helpommin.
Helppohan tuo haku oli, ehkä sekunti meni elinaikaa.
https://duckduckgo.com/?q=javascript number decimals - Anonyymi
Anonyymi kirjoitti:
Helppohan tuo haku oli, ehkä sekunti meni elinaikaa.
https://duckduckgo.com/?q=javascript number decimalsTä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.phpTä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
Miksi persut eivät häädä mamuja pois Suomesta?
Sitä vartenhan persut äänestettiin valtaan. Nyt valta on persuilla. Mamut nostaa työttömyyskorvauksia. Persut huutaa mam2516286Eduskunnan setämiehet eivät häiritse
Porvariston sedät kertoivat kuorossa, että eivät tiedä häirinnästä mitään.1115208KL - Sähköautoilu aiheuttaa lisäkustannuksia muille tehopiikkimaksujen muodossa!
Kauppalehti 15.1.2026 Kommentti / Sähköautoista tuli ongelma – Uusi ”vero” uhkaa Kun perhe ostaa sähköauton ja laittaa184371Sanna Marinille pedataan paluuta pääministeriksi?
Näyttäisi mylly lähteneen käyntiin nyt toden teolla. Nykyiset oikeistodemarit haukutaan vasemmistodemareiden toimesta ni1683178Jaguar i pace sähköauto hajosi. Jopa 100 tonnia akun vaihto. Edullisia kilometrejä
https://www.iltalehti.fi/autouutiset/a/fcaa5ae4-c04d-414d-ac54-dab991758b2e Tuo että sähköautossa ei lämmitys toimi on123101Silminnäkijät kertovat IS:lle useista törkeistä SDP:ssä tapahtuneista häirintätapauksista.
https://www.is.fi/politiikka/art-2000011749874.html Silminnäkijöiden Iltasanomille kertomusten mukaan SDP:ssä on tapahtu1752633Muistakaa demarit, että TE petitte, ei vihreät tai vas.liitto
Te veitte eduskunnasta turvallisen tilan, veditte sen viemäristä alas. Te demarit, itsensä ylentäneet moraalinvartijat,872561Nainen, kaiken aikaa olin yläpuolella
Ja olen edelleen kaiken yläpuolella. Ja niin on aina oleva. :/1821746- 461689
- 711543