获取货币价值的小数部分

时间:2017-09-03 02:13:11

标签: javascript regex

字符串:$ 22.4969694
正则表达式:([.])+

我已尝试.test(),但我没有尝试获得布尔响应,我试图获取.字符和切片的长度编号它

因此,如果在字符串中检测到.,它会将$ 22.从字符串中切除,并将变量值设置为4969694

3 个答案:

答案 0 :(得分:3)

没有正则表达式,它非常直接



var str1 = '$ 22.4969694';
var str2 = '$ 22694';

console.log( str1.split('.').pop() )  // 4969694
console.log( str2.split('.').pop() ); // nothing happens




答案 1 :(得分:1)

我并非100%确定我会按照您希望的最终结果来表达,但这是我想出的可能对您有用的内容。

根据您想要的值,这可行。



let vals = ['$ 22.4969694', '$ 22', '$ 22567.00']

vals.forEach(val => {
  let v = val.replace(/^.*\./, '')

  console.log(v)
})




答案 2 :(得分:1)

您可以使用match

brew

const str = '$ 22.4969694'; const regex = /(\$)\s+(\d+)\.(\d+)/ 将返回一个数组。第一个元素是原始字符串,其余元素是匹配。在这种情况下,货币符号,然后是美元,然后是美分。

match

您可以使用常规数组方法访问它们:

str.match(regex) // [ "$ 22.4969694", "$", "22", "4969694" ]