我正在尝试在JavaScript中制定一个正则表达式,以便将分数形成一个带小数点的数字。例如,一个表达式可以从27
获得454.2700000
。我知道如何使用split和substring执行此操作,但是使用正则表达式更容易。感谢
答案 0 :(得分:2)
以下解析小数点后的两位数字:
/\.(\d{2})/
\.
表示点\d
表示数字{2}
表示其中两个()
抓住比赛的这一部分要获得匹配,请使用.exec
和[1]
:
/\.(\d{2})/.exec("454.2700000")[1]; // "27"
答案 1 :(得分:1)
如果你真的有一个号码而你想要一个号码,为什么要使用字符串?
var n=454.27;
var cents=Math.round(n*100)%100;
如果n是数字字符串,则乘法将其转换为数字:
var n= '454.270000';
var cents=Math.round(n*100)%100;
答案 2 :(得分:0)
以下正则表达式将返回您想要的内容:
/(?:\.)(\d\d)/.exec(454.2700000)[1]
答案 3 :(得分:0)
你可以进行正则表达式测试
/\.(\d+)$/.test(454.2700000)
在这里得到你的分数,parseInt(RegExp.$1, 10)
。解析整数会删除零。
或者如果你总是想要两个小数位,用pimvbd的\ d {2}替换我的\ d +然后你就可以只用RegExp。$ 1而没有parseInt。
您可以在此处查看http://jsfiddle.net/nickyt/qbsfY