如题。num是个number。且001没有引号。期望结果是长度为3。实际结果是1。在js里有没有什么办法保留数字前面的零。还是说这题压根就没得解?
简单说一下我的看法吧:
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,存值最后都会化成科学技术形式然后将小数点之前的去除掉。
27 回答14.4k 阅读
8 回答3.7k 阅读✓ 已解决
6 回答1.5k 阅读✓ 已解决
5 回答5.5k 阅读✓ 已解决
4 回答1.6k 阅读✓ 已解决
3 回答1.9k 阅读
4 回答2.4k 阅读✓ 已解决
无解更无语....