javascript - Number(...) 和 parseFloat(...) 有什么区别

标签 javascript string-conversion

What is the difference between parseInt(string) and Number(string) in JavaScript 之前已被询问过。

但答案基本上集中在 radixparseInt 将像 "123htg" 这样的字符串转换为 123 的能力。

我在这里要问的是,当您将 实际数字字符串 完全没有基数传递给它时,Number(...)parseFloat(...) 的返回是否有很大差异。

最佳答案

正如@James Allardic 已经回答的那样,内部运作并没有那么不同。不过还是有区别的。使用 parseFloat , 以一个或多个数字字符开头后跟字母数字字符的( trim 后的)字符串可以转换为数字,Number那不会成功。如:

parseFloat('3.23abc'); //=> 3.23
Number('3.23abc'); //=> NaN

顺便说一句,在这两种转换中,输入字符串都会被 trim :
parseFloat('  3.23abc '); //=> 3.23
Number('   3.23 '); //=> 3.23

关于javascript - Number(...) 和 parseFloat(...) 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11988547/

相关文章:

javascript - 在 HTML 表单上设置 Enter 键提交

javascript - 如何在 Javascript 中将 CLOB 转换为字符串

javascript - 将文件中的字符串转换为列表

c# - 检查字符串类型到其他类型的转换

c++ - wchar_t 和 c_str 字符串转换的意外结果

c++ - 如何将 double 值转换为字符串以便将其输出到 Win32 下的窗口标题栏

c++ - 使用 WideCharToMultibyte 时如何删除控制字符

javascript - 尝试使用 useEffect Hook 来实现此功能

javascript - 当鼠标离开浏览器窗口时 Bootstrap 模式消失,不返回

javascript - 带有事件 div 的自定义日历