Javascript 用数字后面的字符分析浮点
我有一个输入,用户在其中引入数字、整数或浮点。我想知道数字是否正确,例如,检查输入Javascript 用数字后面的字符分析浮点,javascript,parsefloat,Javascript,Parsefloat,我有一个输入,用户在其中引入数字、整数或浮点。我想知道数字是否正确,例如,检查输入2r是否不正确。我的第一种方法是使用parseFloat,但它并不抱怨: parseFloat('2r') // returns 2 事实上,这是根据 如何检查2r是否错误?这是预期的行为-parseFloat和类似工具将忽略实数后面的任何“垃圾” 如果您需要验证这是一个实数作为一个整体,那么有多种策略可供使用,其中最简单的是尝试数学运算,例如乘以一。这不是parseFloat的错误,似乎您在追求其他东西 试
2r
是否不正确。我的第一种方法是使用parseFloat
,但它并不抱怨:
parseFloat('2r') // returns 2
事实上,这是根据
如何检查
2r
是否错误?这是预期的行为-parseFloat和类似工具将忽略实数后面的任何“垃圾”
如果您需要验证这是一个实数作为一个整体,那么有多种策略可供使用,其中最简单的是尝试数学运算,例如乘以一。这不是
parseFloat
的错误,似乎您在追求其他东西
试一试号码
编号('2r');//返回楠
它是
如果parseFloat遇到加号(+)以外的字符,则为减号
符号(-U+002D连字符减号)、数字(0-9)、小数点(.)或
指数(e或e),它返回该字符的值,忽略
无效字符及其后面的字符
以下示例均返回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" } });
'2r'+0
只会导致'2r0'
…正如Mike所说,这是预期的行为。看见如本参考中所述,使用Number()函数进行更严格的解析。parseFloat('2r'+0)再次返回2 rry,miss记得-parseFloat('2r'*1)给出NaN