JavaScript中的Strict toNumber

vyswwuz2  于 2023-05-27  发布在  Java
关注(0)|答案(1)|浏览(123)

有没有一个更严格的内置javascript函数可以告诉我输入的字符串是否是数字?例如:

// for both of the following it should produce a non-value (nan or undefined or whatever)
> parseFloat('2xa');
2
> parseInt('1ddd')
1

现在我使用正则表达式来实现:

const test_values = [
  // [value, expected]
  ['2.4', 2.4],
  ['1e2', 1e2],
  ['1f', null],
  ['0.28', 0.28],
  ['1e+7', 1e+7],
  ['1e+7.1', null]
]
for (let [val, expected] of test_values) {
  let m = val.match(/^(-?\d*(\.\d+)|\d+)([eE][+-]?\d*)?$/);
  let res = m? parseFloat(m[0]) : null;
  console.log(res === expected? 'OK' : 'ERROR', res);
}
nqwrtyyt

nqwrtyyt1#

这是一个很好的链接,可以帮助你理解javascript https://www.w3schools.com/js/js_number_methods.asp中的number是如何工作的

相关问题