如何在JavaScript中将整数转换为浮点数?

时间:2010-11-27 18:36:50

标签: javascript integer floating-point

我有整数(例如 12 ),我想将其转换为浮点数,并指定小数位数。

草案

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

3 个答案:

答案 0 :(得分:34)

你拥有的是一个浮点数,它们都是JavaScript中的64位浮点数。

要在渲染时获取小数位(作为字符串,输出),请使用.toFixed(),如下所示:

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

You can test it out here(虽然我重命名了这个函数,因为它不是一个准确的描述)。

答案 1 :(得分:3)

toFixed(x)不是浏览器解决方案。 完整的解决方案如下:

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

答案 2 :(得分:0)

如果您不需要(或不确定)固定的小数位数,您可以使用

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

这与上下文相关,例如,x7.0x.toString()会为您提供"7",您需要字符串"7.0" 。如果x恰好是浮点值,例如说7.17.233,则字符串也应分别为"7.1""7.233"

不使用Number.isInteger():

xAsString = (x % 1 === 0) ? (x + ".0") : (x.toString());