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
187
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
Miehille kysymys
Onko näin, että jos miestä kiinnostaa tarpeeksi niin hän kyllä ottaa vaikka riskin pakeista ja osoittaa sen kiinnostukse1323767- 851875
Olen tosi outo....
Päättelen palstajuttujen perusteella mitä mieltä minun kaipauksen kohde minusta on. Joskus kuvittelen tänne selkeitä tap151721Haluaisin jo
Myöntää nämä tunteet sinulle face to face. En uskalla vain nolata itseäni enää. Enkä pysty elämäänkin näiden kanssa jos541392Ylen uutiset Haapaveden yt:stä.
Olipas kamalaa luettavaa kaupungin irtisanomisista. Työttömiä lisää 10 tai enempikin( Mieluskylän opettajat). Muuttavat1231264VENÄJÄ muuttanut tänään ydinasetroktiinia
Venäjän presidentti Vladimir Putin hyväksyi tiistaina päivitetyn ydinasedoktriinin, kertoo uutistoimisto Reuters. Sen mu931241Kotkalainen Demari Riku Pirinen vangittu Saksassa lapsipornosta
https://www.kymensanomat.fi/paikalliset/8081054 Kotkalainen Demari Riku Pirinen vangittu Saksassa lapsipornon hallussapi331183- 691114
- 681004
Hommaatko kinkkua jouluksi?
Itse tein pakastimeen n. 3Kg:n murekkeen sienillä ja juustokuorrutuksella. Voihan se olla, että jonkun pienen, valmiin k102975