首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将非常大的十进制数转换为字符串?

问如何将非常大的十进制数转换为字符串?
EN

Stack Overflow用户
提问于 2020-01-18 17:25:00
回答 1查看 72关注 0票数 3

我想将十进制数123.456e+304转换为字符串"123.456e+304" (小数点.的位置不应更改)。

下面是我尝试过的方法,但它们都返回相同的结果:1.23456e+306 (小数点的位置已更改,并且还用306替换了304 )。

​

代码语言:javascript
复制
var e = 123.456e+304;

console.log(e.toString());
console.log((e).toString());
console.log(e .toString());
console.log(e.toFixed());
console.log(String(e));
console.log((new String(e)).toString());
console.log(`${e}`);
console.log('' + e);
console.log(e + '');
console.log(''.split.call(e, '').join(''));

​

有没有办法将它转换为expect字符串"123.456e+304"

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-18 17:32:24

这是不可能的,因为一旦你分配了:

代码语言:javascript
复制
var e = 123.456e+304;

并且由JavaScript解释器处理,e只是一个由IEEE754内部表示的数字,相当于1.23456e+306,并且它在小数点所在的位置“没有内存”。因此,无论您做什么,您都不能知道小数点在哪里,也不能让您将它移动到字符串中想要的位置。

为了“知道”小数点的位置,首先需要有一个字符串,但这也是您想要的结果。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59799163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档