# Zahlen in JavaScript



## programmierer123 (25. Jan 2018)

Hallo,
1) Warum bekommt y den unten stehenden Wert?
2) Warum ist y undefiniert?

1)
var x = 999999999999999;   // x will be 999999999999999
var y = 9999999999999999;  // y will be 10000000000000000

2)
var x = 6;
var y = x.MAX_VALUE;    // y becomes undefined


----------



## Robat (25. Jan 2018)

1) Jede Zahl in JS basiert auf dem dem Datentyp Number, welcher ein 64-Bit-Floatingpoint Datentyp ist. Du hast also ungefähr eine Genauigkeit (bei Ganzzahlen) von 15 Ziffern bevor Rundungsfehler entstehen.

2) Weil dein x keine Propertie MAX_VALUE besitzt. Meinst du eventuell Number.MAX_VALUE?


----------



## programmierer123 (26. Jan 2018)

Ok, und wie wird immer gerundet? Wird immer aufgerundet?
Dann müsste 9999 9999 9999 9999 zu 1 0000 0000 0000 0000 werden?

https://jsfiddle.net/rjv0t8ev/


----------



## Robat (26. Jan 2018)

Wenn ich mich recht entsinne ja. 
Es ist aber nicht wirklich ein "Runden" sondern eher ein Fehler durch fehlende Genauigkeit.


----------

