Dezimalstellen auf eine Stelle nach dem in as3?
Ich nach dem Zufallsprinzip generieren eine Dezimalzahl mit:
private function randomNumber(min:Number, max:Number):Number
{
return Math.random() * (max - min) + min;
}
Kommt es mit so etwas wie 1.34235346435.
Wie kann ich es konvertieren, so dass Ihre 1.3.
InformationsquelleAutor panthro | 2012-07-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Runde auf eine Dezimalstelle, wie folgt;
Oder eine beliebige Anzahl von Dezimalstellen wie diese:
InformationsquelleAutor Jonatan Hedborg
Benutzen Sie einfach die .toFixed oder .toPrecision Methode, es nicht zu kompliziert sein (beachten Sie, dass die Zahl wird zu einem string, also müssen Sie Sie zuweisen oder konvertieren es zurück).
zB.
InformationsquelleAutor Hioctane321
Wenn Sie brauchen, Zahl als Ergebnis und der Leistung, ich würde sagen, dass diese Lösung effizienter ist als die Mathematik.pow()/Math.Runde (). Wenn Sie brauchen 3 Nachkommastellen ändern Sie einfach 100 von 1000.
Nachweis der Rundung :
InformationsquelleAutor alan_langlois
diese stattdessen zu verwenden
return Math.Round((Math.random() * (max - min) + min),1);
,1 Runde bis 1 Ort
2 Plätze der Dezimalstellen, die Sie verwenden können
return Math.Round((Math.random() * (max - min) + min),2);
Ich hoffe das hilft jetzt.
Haben Sie tatsächlich versuchen, Ihren code? Das ist nicht, wie AS3 ist
Math.round()
funktioniert. Es dauert nur ein argument.InformationsquelleAutor NG.