Wenn Sie mit "Präzision" "Dezimalstellen" meinen, dann ist das unmöglich, weil Floats binär sind . Sie haben keine Dezimalstellen, und die meisten Werte, die eine kleine Anzahl von Dezimalstellen haben, haben wiederkehrende Stellen in Binärzahlen, und wenn sie zurück in Dezimalzahlen übersetzt werden, ergibt dies nicht unbedingt die ursprüngliche Dezimalzahl Nummer.
Jeder Code, der mit den "Dezimalstellen" eines Gleitkommazahlens arbeitet, kann bei einigen Zahlen zu unerwarteten Ergebnissen führen.
Es gibt keine native Funktion, um die Anzahl der Dezimalstellen zu bestimmen. Sie können die Zahl in einen String umwandeln und dann den Offset vom Dezimaltrennzeichen .
:
Aber es liegt in der Natur von Schwimmern, Sie zu täuschen. 1
kann genauso gut durch 0.00000000989
oder etwas repräsentiert werden. Ich bin nicht sicher, wie gut das oben genannte tatsächlich in realen Anwendungen funktioniert.
Basing on @ blackpla9ue Kommentar und Berücksichtigung von Zahlen exponentiellen Format:
%Vor%Tags und Links javascript math floating-point