javascript 特大负指数转十进制

javascript extra large negative exponent to decimal conversion

如何在 javascript 中将负大指数 6.849391775995509e-276 变为 6.84?

我正在从一个 api 中取回负指数数,我想在我的 ui 中使用一个缩短的版本,保留 2 个小数点。如果重要,我会在反应中使用 d3 图表渲染中的数字。

我一直在尝试一些来自 javascript 文档站点的不同技术,但似乎无法实现。使用像 Immutable.js 这样的库是一种选择吗?任何帮助将不胜感激。代码片段中所有使用指数表示法的尝试 return 0.00.

function financial(x) {
  return Number.parseFloat(x).toFixed(2);
}
console.log(financial(6.849391775995509e-276));
const num = 6.849391775995509e-276
console.log(num.toFixed(2));
const num2 = 6.84939;
console.log(num2.toFixed(2));

console.log(financial('6.849391775995509e-276'));

 +num.toString().substr(0,3)

只需将其转换为字符串并取前几位即可。

类似于 Jonas 的回答,但是您想将其包装在 parseFloat() 中以获得实际数字而不是字符串。

const num = 6.849391775995509e-276
var newNum = parseFloat(num.toString().substr(0,4)) 
console.log(newNum)