Runden von Zahlen
Daniel Witt
- javascript
Ich möchte folgende Zahl auf 2 Nachkommastellen runden:
1.4000000000000001
Wie mach ich das in Javascript?
Die Zahl wird in Javascript folgendermaßen ermittelt:
<script>
var s6 = 0.50;
var s7 = 0.60;
var laufzeit = 1;
var sg = new Array(0.30,0.40,0.50,0.50,0.50);
price =s6+s7+sg[laufzeit-1];
</script>
.
.
.
und dann über eine browserspezifische document.write in die Seite geschrieben.
Wie krieg ich es aber hin, dass er mir nur 1.40 darstellt???????
MfG und Vielen Dank,
Daniel
price =s6+s7+sg[laufzeit-1];
Hi,
Math.round(price*100)/100
round() rundet eine Zahl. Um zwei Nachkommastellen zu erhalten multipliziert man erst mit 100 (zwei Nullen anhängen) um nach dem Runden wieder zu dividieren.
Viele Grüße,
Jürgen
Und der gerundete Preis muß dann natürlich wieder einer Variablen zugewiesen werden:
price_neu = Math.round(price*100)/100
oder den alten Wert überschreiben:
price = Math.round(price*100)/100
Hallo Jürgen!
price_neu = Math.round(price*100)/100
Das ist oft nicht das erwünschte Ergebnis. Z.B.: wirst du so nie 1.40 bekommen sonder 1.4. Folge einfach mal dem Link den Der Dicki hier im Thread gepostet hat.
Ausserdem ist es natürlich Zufall/Glück/Implementationsabhängig das beim Teilen /100 kein erneuter Fehler in der letzten Stelle auftritt, denn dabei entsteht ja wieder ein unendlicher Binärbruch.
Gruss,
Carsten
Hallihallo!
Mit der Selfsuche findest Du im Forumsarchiv viele Sachen, die Dich weiterbringen könnten:
http://selfsuche.teamone.de/cgi-bin/such.pl?suchausdruck=Zahlen+runden&case=on&feld=alle&index_1=on&index_2=on&index_3=on&index_4=on&hits=100
Folge einfach den links, die Dir da geboten werden. An einigen Stellen steht sogar fertiger Javascript- Code...
Ich hoffe, ich konnte Dir helfen....
Viele liebe Grüße,
Der Dicki
Hallo Jürgen
probiers mal mit
price = price.toFixed(2);
document.write(price);
Steht im Selfhtml unter Number
Viel Spaß,bye lisa
Ich möchte folgende Zahl auf 2 Nachkommastellen runden:
1.4000000000000001
Wie mach ich das in Javascript?
Die Zahl wird in Javascript folgendermaßen ermittelt:
<script>
var s6 = 0.50;
var s7 = 0.60;
var laufzeit = 1;
var sg = new Array(0.30,0.40,0.50,0.50,0.50);
price =s6+s7+sg[laufzeit-1];
</script>
.
.
.
und dann über eine browserspezifische document.write in die Seite geschrieben.
Wie krieg ich es aber hin, dass er mir nur 1.40 darstellt???????
MfG und Vielen Dank,
Daniel