在Javascript中使用正则表达式获得分数

时间:2011-11-04 16:45:07

标签: javascript regex

我正在尝试在JavaScript中制定一个正则表达式,以便将分数形成一个带小数点的数字。例如,一个表达式可以从27获得454.2700000。我知道如何使用split和substring执行此操作,但是使用正则表达式更容易。感谢

4 个答案:

答案 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