为了账号安全,请及时绑定邮箱和手机立即绑定

带有数字后字符的 parseFloat

带有数字后字符的 parseFloat

阿晨1998 2021-12-02 15:29:46
我有一个输入,用户在其中引入了数字、整数或浮点数。我想知道它的数字是否正确,例如检查输入2r是否正确。我的第一种方法是使用parseFloat,但它并没有抱怨:parseFloat('2r')   // returns 2实际上,这是根据文档的预期行为你如何检查它2r是错误的?
查看完整描述

3 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

这不是错误parseFloat,似乎您在追求其他东西。

试号;

Number('2r'); // returns Nan


查看完整回答
反对 回复 2021-12-02
?
慕仙森

TA贡献1827条经验 获得超7个赞

它有据可查


如果 parseFloat 遇到除加号 (+)、减号 (- U+002D HYPHEN-MINUS)、数字 (0–9)、小数点 (.) 或指数(e 或 E)以外的字符,则返回value 到那个字符,忽略无效字符和它后面的字符。


以下示例均返回 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" } });


查看完整回答
反对 回复 2021-12-02
?
红颜莎娜

TA贡献1842条经验 获得超12个赞

这是预期的行为 - parseFloat 和类似的将忽略实数后面的任何“垃圾”。

如果您需要验证这是一个整体的实数,那么有多种策略可以使用,其中最简单的是尝试数学运算,例如乘以一。


查看完整回答
反对 回复 2021-12-02
  • 3 回答
  • 0 关注
  • 164 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信