慕村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,存值最后都會化成科學技術形式然后將小數點之前的去除掉。
添加回答
舉報
0/150
提交
取消