当字符串包含非数字字符时,parseFloat()是如何工作的?
How does parseFloat() work when the string contains non-numeric characters?
我在执行parseFloat()
时遇到问题-我不明白为什么它产生以下输出:
document.write(parseFloat("6e2") + "<br />"); //output is 600 why?
document.write(parseFloat("6b2") + "<br />"); //output is 6 why?
document.write(parseFloat("6c2") + "<br />"); //output is 6 why?
你能告诉我这个脚本是如何工作的吗?
6e2
生成600,因为它将您的输入视为科学记数法。
6e2 == 6 × 102 == 600
其他两个产生6,因为parseFloat
解析了6,然后输入它无法转换为数字,所以它停止,并返回到目前为止找到的结果。
parseFloat是一个顶级函数,与任何函数都没有关联对象。
parseFloat解析它的参数字符串,并返回一个浮点数号码。如果遇到符号(+或-)以外的字符,数字(0-9)、小数点或指数,它返回值直到那一点,忽略了那个性格和所有的成功字符。
如果第一个字符不能转换为数字,则使用parseFloat返回NaN。
出于算术目的,NaN值不是任何基数形式的数字。您可以调用isNaN函数来确定结果是否为parseFloat是NaN。如果NaN被传递给算术运算,则操作结果也将为NaN。
parseFloat()
函数判断指定字符串的第一个字符是否为数字。如果是number,则解析该字符串,直到到达该数字的末尾,并将该数字作为数字返回,而不是字符串。
so parseFloat("6b2")返回6.
so parseFloat("6c2")返回6.
对于第一个,这是因为它将e视为指数符号(^)
其他两个只有6,因为一旦数字结束,它会忽略其余的
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- JS可以在Chrome中工作,但不能在Firefox中工作
- ajaxToolkit PopupControlExtender不工作.过时的
- HTML标记在脚本标记中工作
- 在JavaScript中的类中,push和concat的工作方式有何不同