您好,匿名用户

求num=001的长度

0 投票

如题。num是个number。且001没有引号。期望结果是长度为3。实际结果是1。在js里有没有什么办法保留数字前面的零。还是说这题压根就没得解?

用户头像 提问 2017年 6月18日 @ Gragas 下士 (979 威望)
分享到:

1个回答

0 投票

简单说一下我的看法吧:
1) javascript中数值的形式:

primitive value corresponding to a double-precision 64-bit binary format IEEE 754 value
NOTE A Number value is a member of the Number type and is a direct representation of a
number.

2) IEEE 754 简单介绍:
IEEE754百度百科
阮一峰-浮点数二进制

介绍完前置说明,我来解释我的看法:

为什么存进去的是001,但其长度为1(被保存成1)?

因为javascript在内存中将001保存为:

sign = 0(1个0);
exponent = 1023(11个1);
fraction = 0(52个0);

sign是其符号位,exponent是其指数位,关键在于fraction: 有效位,其默认值区间为[1-2),IEEE 754默认其值为

1.xxxx

的形式,并且在存储时舍去第一个1,在读取时加上。所以我认为无论你在前面写了多少个0,存值最后都会化成科学技术形式然后将小数点之前的去除掉。

用户头像 回复 2017年 6月18日 @ Viktor 中士 (1,025 威望)
提一个问题:

相关问题

0 投票
1 回复 124 阅读
用户头像 提问 2017年 6月12日 @ Shaco 下士 (919 威望)
0 投票
0 回复 88 阅读
用户头像 提问 2017年 4月2日 @ Sion 中士 (1,154 威望)
0 投票
1 回复 89 阅读
用户头像 提问 2017年 5月26日 @ Maokai 中士 (1,127 威望)
0 投票
1 回复 198 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...