在JavaScript中将整数转换为一个小数



我有这个问题。我想将整数71(类型number)转换为一个十进制,表示71.0

,但我需要它保持类型number。搜索和我发现的唯一解决方案是使用toFixed(1),然后parseFloat上返回number但不带小数点的71

const float = (num) => {
let fixed = (num).toFixed(1)
let float = parseFloat(fixed)

return float
}
float(71)

我该怎么做?

这是没有意义的,因为整数(整数)几乎总是等于它的等效浮点数,除非有一些奇数精度行为。

  • 71 === 71.0
  • 71 === 71.00
  • 71 !== 71.000000001

是否要使用精度截断浮点数?

const truncateFloat = (n, p = 0) => parseFloat(n.toFixed(p));
// Truncate an irrational number (PI)
console.log(truncateFloat(Math.PI, 2) === 3.14) // true

删除parseFloat(fixed),保持原样

const float = (num) => {
let fixed = (num).toFixed(2)
//let float = parseFloat(fixed)

return float
}
float(71)

使用toFixed(n),其中n为小数点后第10位。

您已经声明,您需要将其保留为末尾的number,但事实是,如果小数为0,则它将始终四舍五入为整数。因此,您可能更愿意考虑在打印到屏幕时添加toFixed(n),以便他们总是打印额外的。

========= 更新

我刚找到一个更干净的解决方案。考虑下面的解决方案链接

const float = (num) => {
tmp = '0.00';
tmp = (+tmp + num).toFixed(2);

return tmp
}
float(71)

参考:如何使用parseFloat(0.00)获得一个浮点数

相关内容

  • 没有找到相关文章