Javascript 使用正则表达式转换数字

Javascript 使用正则表达式转换数字,javascript,regex,Javascript,Regex,我只想使用正则表达式将数字转换为0(如果传递的值是整数)或30(如果传递的值是浮点) 没有regex,这很容易: const someNumber = Number.isInteger(16.5) ? 0 : 30; console.log(someNumber); // 30 但是如何使用regex实现这一点呢? 让someNumber=/\d+\./.test(16.5)?30 : 0; 让someNumber2=/\d+\./.test(16)?30 : 0; console.log(s

我只想使用正则表达式将数字转换为0(如果传递的值是整数)或30(如果传递的值是浮点)

没有regex,这很容易:

const someNumber = Number.isInteger(16.5) ? 0 : 30;
console.log(someNumber); // 30
但是如何使用regex实现这一点呢?

让someNumber=/\d+\./.test(16.5)?30 : 0;
让someNumber2=/\d+\./.test(16)?30 : 0;
console.log(someNumber);

console.log(someNumber2)仅使用正则表达式替换和类型转换:

n => Number(n.toString().replace(/^/, "30").replace(/(30)\d+(?:\.\d+)|3(0)\d+/, "$1$2"))
someNumber=/\./.test(16.5)*30