0

我正在尝试将字符串转换为浮点数。我知道 parseFloat() 可以做到这一点,但我也找到了下面的语法,但没有太多参考。

什么是正确的语法,因为它们似乎都有效。我在哪里可以了解更多信息?我不知道如何谷歌它,因为我不知道它的名字。

// syntax 1
alert((+"123"));    // 123
alert((+"x123"));   // NaN
alert((+"123x"));   // NaN
alert((+"123   ")); // 123
alert((+"   123")); // 123
alert((+"12 3"));   // NaN

// syntax 2
alert(+"123");      // 123
alert(+"x123");     // NaN
alert(+"123x");     // NaN
alert(+"123   ");   // 123
alert(+"   123");   // 123
alert(+"12 3");     // NaN

// syntax 3
alert(+("123"));    // 123
alert(+("x123"));   // NaN
alert(+("123x"));   // NaN
alert(+("123   ")); // 123
alert(+("   123")); // 123
alert(+("12 3"));   // NaN
4

2 回答 2

3

它们在语法上都是正确的……但是示例 1 和示例 3 有多余的括号。

于 2013-04-24T14:26:50.477 回答
2

这称为隐式转换。由于您使用了数学运算符 (+),它会尝试将字符串转换为数学运算所需的数值。你在这里问的是给我以下字符串的正值。

于 2013-04-24T14:29:39.613 回答