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
404
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
- 1351579
Taas puukotus yläristillä!
Tänään taas puukotettu hengiltä ihminen Kuopiontien läheisyydessä yläristillä! Nyt näitä alkaa olla viikoittain!521505Mitä teillä grillataan juhannuksena? Anna oma vinkkisi grilliherkkuihin
Kesä ja juhannus on grillailun kulta-aikaa. Mitä teillä grillataan juhannuksena? Anna oma vinkkisi grilliherkkuihin. Ka681123Olen päättänyt tappaa itseni tämän vuoden puolella
Minulla ei ole oikeastaan mitään hävittävää. Elämäni on surkeaa ja tunnen ihmisten tuijotukset ja supinat. Ne nauravat r1031047- 108960
Ihana juhannusperinne
Lähdemme aina juhannuksena aivan hirveässä kännissä kiikkerällä veneellä pieliselle! Se on hauskaa ja jännittävää puuhaa51848Mistä tunnistaa suomussalmelaisen kassajonossa
Terveiset täältä Kuopiosta! Olen aikoinaan Suomussalmelta lähtenyt maailmalle ja muutaman mutkan kautta päätynyt savon s85810Älä itke rakas.
Tunnen sun kyyneleet silmissäni. Kaikki tulee menemään hyvin. Loppu häämöttää jo...57733- 59695
- 34676