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
264
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
- 1452519
En kai koskaan saa sinua
Koska et usko että riitäisit minulle. Olet aina pitänyt itseäsi liian risana ja heikkona. Katkot korkeutesi, ja poraat k1541649Terveystalon lääkärit ylilaskuttaneet
Tämän pörriäiset osaavat, laskuttamisen. Terveystalo myöntää asian. https://www.hs.fi/suomi/art-2000011134269.html "K1331613Saran ökytyyli käänsi katseita.
On nyt kyllä Sara kasvoistaan, kuvan perusteella todellakin pyöristynyt ainakin kuvan perusteella.1461344- 661338
The Summit Suomi: Maxie avaa hyytävästä tilanteesta kuvauksissa: "Veri roiskui ja tajusi, että..."
Oletko seurannut The Summit Suomea? Tykkäätkö vai et tai mitä mieltä ylipäätään olet sarjasta? Moni katsoja on kaikonnut131170Työttömille lusmuille luvassa lisää keppiä
Hallitus aikoo kiristää velvoitteiden laiminlyönnistä seuraavia työttömyysturvan karensseja ensi vuodesta alkaen. Hall2611123- 156966
Miksi ihmeessä?
Erika Vikman diskattiin, ei osallistu Euroviisuihin – tilalle Gettomasa ja paluun tekevä Cheek22904Tiedän kaiken sinusta ja kaikesta
Tiedän miten kärsit. Tiedän millanen oikeesti oot. Tiedän miksi valehtelit, tiedän miksi satutit mua. Tiedän mitä tapaht58889