2016-11-13 2 views
1

Wie kann ich Float-Wert wie (0.9) zu einem ganzzahligen Wert (9) in JavaScript extrahieren?Float-Wert-Extraktion in Javascript

Beispiel

var total = 67.9; 
something to process var whole var DEC to be like 
var whole = 67; 
var DEC = 9; 
+1

warum 9 und nicht 0.9? Was soll mit Zahlen passieren, wie 42.321? sollte es 'dec = 321' zurückgeben? –

+0

Zahlen wie 42.321 sollten 42 und 321 nicht zurückgeben 0.321 –

+0

Im Allgemeinen ist es nicht möglich (wegen endlicher Genauigkeit). Es besteht die Möglichkeit, dass du etwas falsch machst und du erklärst besser das ursprüngliche Problem, das du löst. – zerkms

Antwort

2

Die einfachste Art, wie ich denken kann, ist dies:

var string = total.toString(); 
var dotidx = string.indexOf("."); 
var dec = dotidx >= 0 ? +string.slice(dotidx + 1) : 0; 

Beachten Sie, dass es nicht in exponentiellen Formen mit Zahlen zu arbeiten.

2

Es gibt viele Möglichkeiten, ein Ergebnis zu finden. Ich gebe dir eine einfache Lösung.

var total = 67.9 
var splitVal = total.toString().split(".") 
var whole = splitVal[0], var desc = splitVal[1] || 0 

und wenn Sie ganz und ab in Zahl konvertieren möchten multiplizieren dann mit 1.

var whole = splitVal[0] * 1 
+1

Dies würde "undefiniert"/"NaN" zurückgeben, wenn "total" tatsächlich eine ganze Zahl ist. – MaxArt

+0

können wir 'var desc = splitVal [1] || setzen 0'. Danke MaxArt –