這是正常的嗎?
newItemRowNumber
'0.11'
parseInt(newItemRowNumber)
0
我希望它是不可決議的。
uj5u.com熱心網友回復:
parseInt 將字串決議為字串開頭的實數 0-9。當它遇到一個非整數字符時,它會停止決議,在這種情況下是 .
19aaa 變為 19
0.11 變為 0
11.111 變為 11
abc11 變為 NaN
0xDEAD 變為 57005(因為是十六進制數)
uj5u.com熱心網友回復:
來自MDN:
如果 parseInt 遇到一個不是指定基數中的數字的字符,它會忽略它和所有后續字符,并回傳決議到該點的整數值。parseInt 將數字截斷為整數值。允許前導和尾隨空格。
0 是一個數字。
. 不是。
所以它需要0,忽略了.,忽略了之后的一切.,你得到了0。
uj5u.com熱心網友回復:
這是正常的,因為 parseInt 只會從給定的數字字串中洗掉分數部分。并回傳點左側數字的 int 值。當您決議浮點數時,您可以更好地使用 parseFloat()
console.log(parseFloat("0.11"))
>>0.11
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/390901.html
標籤:javascript 解析
上一篇:將二元運算子添加到z3
