【发布时间】:2018-01-04 21:57:41
【问题描述】:
如何在Java Script 中将2.79470525274901e+28 id 转换为数字?
【问题讨论】:
如何在Java Script 中将2.79470525274901e+28 id 转换为数字?
【问题讨论】:
您可以将其传递给new Number():
const a = new Number('1e+5');
这将使它成为一个数字对象。它会像普通号码一样工作,然后你可以用它做其他事情:
const a = new Number('1e+5') + 5;
console.log(a);
请注意,如果这是一个id,这意味着它是一个非常长的数字,那么您可能会遇到问题。如果你采取这样的方式:
2.79375892768972378067309875980271598721390687239086729387698
它会变成这样:
2.792573895732e+30 // didn't actually count, just an example
但是,当它被转换回来时,最后 2 之后的所有内容都会变成零:
2.79257389573200000000000000000000000000000000000000000000000
这是由于 JavaScript 数字精度的限制。
因此,如果该 ID 是一个数字,而不仅仅是一个看起来像数字的字符串,则无法将其恢复为原始形式。
【讨论】: