Decimaal getal met komma
Jop B
22/04/2017 01:14:59Hallo,
Ben bezig met een formulier waar ik een veld heb met een geldbedrag, met javascript laat ik automatisch 2 decimalen plaatsen met de to fixed functie.
Bedragen met een punt ipv een komma worden door de replace functie hersteld naar een komma.
Codepen
Het probleem waar ik tegen aan loop is het volgende:
Voer ik 10 in dan word dit 10,00
voer ik 10.50 in dan word dat 10,50
Dit gaat dus goed!
Voer ik een bedrag in waar ik zelf de komma al heb geplaatst (10,50) dan maakt hij er 10,00 van.
wat gaat er mis en moet ik aanpassen dat het wel goed gaat?
Gr. Jop
Ben bezig met een formulier waar ik een veld heb met een geldbedrag, met javascript laat ik automatisch 2 decimalen plaatsen met de to fixed functie.
Bedragen met een punt ipv een komma worden door de replace functie hersteld naar een komma.
Codepen
Het probleem waar ik tegen aan loop is het volgende:
Voer ik 10 in dan word dit 10,00
voer ik 10.50 in dan word dat 10,50
Dit gaat dus goed!
Voer ik een bedrag in waar ik zelf de komma al heb geplaatst (10,50) dan maakt hij er 10,00 van.
wat gaat er mis en moet ik aanpassen dat het wel goed gaat?
Gr. Jop
PHP hulp
27/11/2024 13:23:34Ben van Velzen
22/04/2017 01:31:04Zoiets?
Dit kan uiteraard problemen opleveren met geformatteerde getallen als 1.000,00 maar dat was de vraag niet.
Overigens, de reden dat de eerste replace nodig is, is omdat parseFloat getallen uit een string haalt tot er een niet-getal voorkomt, dus de komma. Wanneer je 10,50 hebt haalt parseFloat er 10 uit.
Code (php)
1
2
3
2
3
function setDecimal(input) {
input.value = parseFloat(input.value.replace(",", ".")).toFixed(2).replace(".", ",");
}
input.value = parseFloat(input.value.replace(",", ".")).toFixed(2).replace(".", ",");
}
Dit kan uiteraard problemen opleveren met geformatteerde getallen als 1.000,00 maar dat was de vraag niet.
Overigens, de reden dat de eerste replace nodig is, is omdat parseFloat getallen uit een string haalt tot er een niet-getal voorkomt, dus de komma. Wanneer je 10,50 hebt haalt parseFloat er 10 uit.
Gewijzigd op 22/04/2017 01:36:32 door Ben van Velzen
Jop B
23/04/2017 13:46:40Thanks voor de reactie, hiermee kan ik wel even vooruit. Ik kan natuurlik voor de duizendtallen de punt blokkeren zodat dat niet misgaat :)