gpt4 book ai didi

javascript - 测试字符串是否是 JavaScript 中的有效 float

转载 作者:数据小太阳 更新时间:2023-10-29 05:05:04 27 4
gpt4 key购买 nike

我想测试一个字符串是否可以转换为 float 。我一直在尝试使用 parseFloat 来实现这一点。

console.log(!isNaN(parseFloat("10000"))); // should return true
console.log(!isNaN(parseFloat("100T0"))); // should return false (but doesn't)

Turns out parseFloat 在遇到非数字字符后立即停止读取字符串,然后返回到目前为止传递的任何内容。所以 parseFloat("100T0") 实际上返回 100 而不是 NaN

什么是更好的 js 测试来查看字符串是否可以转换为 float ?

最佳答案

parseFloat() 你不会得到你期望的结果,因为它尝试解析 100T0 并返回 100,所以它是一个有效的 Number

而不是使用 isNaN() 您可以只使用正则表达式来检查给定的 string 是否仅由数字组成。

这是 the regex /^\-?[0-9]+(e[0-9]+)?(\.[0-9]+)?$/ 你需要,这就是你的代码:

function isItNumber(str) {
return /^\-?[0-9]+(e[0-9]+)?(\.[0-9]+)?$/.test(str);
}

演示:

function isItNumber(str) {
return /^\-?[0-9]+(e[0-9]+)?(\.[0-9]+)?$/.test(str);
}

console.log(isItNumber("10000")) // should return true
console.log(isItNumber("100T0"))
console.log(isItNumber("10e5"))
console.log(isItNumber("100.50"))

关于javascript - 测试字符串是否是 JavaScript 中的有效 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52740718/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com