web-dev-qa-db-ja.com

JavaScriptで整数を浮動小数点数に変換するにはどうすればよいですか?

integer(eg 12)があり、それを浮動小数点数、小数点以下の桁数を指定します。

ドラフト

function intToFloat(num, decimal) { [code goes here] }
intToFloat(12, 1) // returns 12.0
intToFloat(12, 2) // returns 12.00
// and so on…
20
nyuszika7h

あなたが持っているのはすでに浮動小数点数です、それらはすべてJavaScriptの64ビット浮動小数点数です。

(文字列として、出力用に)レンダリングするときに小数点以下の桁数を取得するには、次のように .toFixed() を使用します。

function intToFloat(num, decPlaces) { return num.toFixed(decPlaces); }

ここでテストできます (正確な説明ではないので、関数の名前を変更します)。

37
Nick Craver

toFixed(x)は、クロスブラウザーソリューションではありません。完全なソリューションは次のとおりです。

function intToFloat(num, decPlaces) { return num + '.' + Array(decPlaces + 1).join('0'); }
3
simonbor

固定小数点数が必要ない(または不明な場合)場合は、

_xAsString = (Number.isInteger(x)) ? (x + ".0") : (x.toString());
_

これは、xが_7.0_であるようなコンテキストに関連しますが、x.toString()は_"7"_を与え、_"7.0"_のような文字列が必要です。 xが偶然_7.1_または_7.233_のような浮動小数点値である場合、文字列もそれぞれ_"7.1"_または_"7.233"_である必要があります。

Number.isInteger()を使用しない場合:

_xAsString = (x % 1 === 0) ? (x + ".0") : (x.toString());
_
1
Sachin Murali G