为了账号安全,请及时绑定邮箱和手机立即绑定

求num=001的长度

求num=001的长度

慕村225694 2018-10-19 14:09:26
如题。num是个number。且001没有引号。期望结果是长度为3。实际结果是1。在js里有没有什么办法保留数字前面的零。还是说这题压根就没得解?
查看完整描述

1 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

简单说一下我的看法吧:
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,存值最后都会化成科学技术形式然后将小数点之前的去除掉。


查看完整回答
反对 回复 2018-11-05
  • 1 回答
  • 0 关注
  • 521 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号