2017-03-12 80 views
2

我想使用正則表達式將數字轉換爲0(如果傳遞的值是整數)或30(如果傳遞的值是浮點數)。使用正則表達式轉換數

沒有正則表達式它很容易:

const someNumber = Number.isInteger(16.5) ? 0 : 30; 
console.log(someNumber); // 30 

但如何做到這一點使用正則表達式?

+1

'someNumber = /\./.test(16.5)* 30' – Thomas

回答

2

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

0

僅使用正則表達式替換和類型轉換:

n => Number(n.toString().replace(/^/, "30").replace(/(30)\d+(?:\.\d+)|3(0)\d+/, "$1$2")) 
相關問題