3 回答

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
這不是錯(cuò)誤parseFloat
,似乎您在追求其他東西。
試號(hào);
Number('2r'); // returns Nan

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
它有據(jù)可查
如果 parseFloat 遇到除加號(hào) (+)、減號(hào) (- U+002D HYPHEN-MINUS)、數(shù)字 (0–9)、小數(shù)點(diǎn) (.) 或指數(shù)(e 或 E)以外的字符,則返回value 到那個(gè)字符,忽略無效字符和它后面的字符。
以下示例均返回 3.14:
parseFloat(3.14);
parseFloat('3.14');
parseFloat(' 3.14 ');
parseFloat('314e-2');
parseFloat('0.0314E+2');
parseFloat('3.14some non-digit characters');
parseFloat({ toString: function() { return "3.14" } });

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊
這是預(yù)期的行為 - parseFloat 和類似的將忽略實(shí)數(shù)后面的任何“垃圾”。
如果您需要驗(yàn)證這是一個(gè)整體的實(shí)數(shù),那么有多種策略可以使用,其中最簡單的是嘗試數(shù)學(xué)運(yùn)算,例如乘以一。
添加回答
舉報(bào)