[JS] Comma getallen

Pagina: 1
Acties:
  • 92 views sinds 30-01-2008

  • chuxiej
  • Registratie: Februari 2001
  • Laatst online: 13-07-2020
Beste,

Ik probeer via een javascriptje de BTW uit te rekenen.
JavaScript:
1
2
var inclT = (val / 100) * 19;
var incl = parseInt(val) + parseInt(inclT);


Nu krijg ik als val bv 10 is 11 terug bij incl. ipv 11.90
Weet iemand wat ik verkeerd doe ?

Ik krijg de values terug in een textveld (document.forms('AddProduct').monthlyI.value = incl;)

www.dannyhiemstra.nl


  • Dark Blue
  • Registratie: Februari 2001
  • Laatst online: 18-08 18:10

Dark Blue

Compositionista!

Alpenmeisje

Phoei, ik heb de klok wel horen luiden maar weet niet waar de klepel hangt, en toch wil ik reageren. met math.Round heb je geloof ik het getal afgerond. Het woord math.Floor staat me ook nog bij, krijg je daarmee misschien het ruwe, on-afgeronde getal?

Google is je vriend. Als ik je met een kluitje het riet in heb gestuurd, sorry :X

heidiulrich.nl | adventura.nl : rugzakavonturen | pathwise.nl : prepping geeks to get jobs


  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

Ja logisch toch?
Je doet parseInt, dus maakt hij er een integer van.
En een integer is een rond getal. Dus maakt hij er 10 van.

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


  • chuxiej
  • Registratie: Februari 2001
  • Laatst online: 13-07-2020
Maar ik geloof dat ik niet kan optellen zonder dat ik het getal een int maak ?

[ Voor 75% gewijzigd door chuxiej op 08-11-2003 00:43 ]

www.dannyhiemstra.nl


  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

Dark Blue schreef op 08 november 2003 @ 00:41:
Phoei, ik heb de klok wel horen luiden maar weet niet waar de klepel hangt, en toch wil ik reageren. met math.Round heb je geloof ik het getal afgerond. Het woord math.Floor staat me ook nog bij, krijg je daarmee misschien het ruwe, on-afgeronde getal?

Google is je vriend. Als ik je met een kluitje het riet in heb gestuurd, sorry :X
Math.floor maakt van 4.8 een 4 :) Die rond naar beneden af.
Math.ceil naar boven. Dan wordt een 4.1 een 5.
Met round rond ie het idd af, net als parseInt.

Als je op 2 cijfers achter de komma wilt afronden doe je dit:
var $tmp = 3.121312312312;
echo Math.round($tmp * 100) / 100;

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


Verwijderd

Je hebt helemaal nergens een string nodig, en dus ook geen parseInt. En als je een komma-getal wilt, had je sowieso parseFloat moeten gebruiken.

Maar gebruik gewoon géén strings in berekeningen. Vooraf alles naar numerieke variabelen omzetten (indien nodog) , dan de berekening uitvoeren, en dan eventueel weer omzetten naar een string.

  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

FireFoxx schreef op 08 november 2003 @ 00:43:
Maar ik geloof dat ik niet kan optellen zonder dat ik het getal een int maak ?
Dat is zo.
JE kan dan 2 dingen doen:

var inclT = (val / 100) * 19;
var incl = val - -inclT;

Of

var inclT = (val / 100) * 19;
var incl = (parseInt(val * 100) + parseInt(inclT * 100)) / 100;

(niet getest)

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


Verwijderd

Trouwens, afronden op 2 cijfers achter de komma doe je met toFixed()

Bijvoorbeeld:
incl = (val * 1.19).toFixed(2);

Zorg dan wel dat val een numerieke variabele is.
En let erop dat incl een String is.

[ Voor 12% gewijzigd door Verwijderd op 08-11-2003 00:51 ]


  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

gHEej weer wat geleerd :D :o

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

terug te vinden in de references hoor...

Intentionally left blank

Pagina: 1

Dit topic is gesloten.