从数字中删除句点

时间:2013-10-09 22:39:19

标签: c# jquery regex

您好我有一个带有数字的正则表达式,并从中删除所有逗号和其他字符。

     num = num.toString().replace(/\$|\,/g, '');

我需要添加到这个regexpression所以它也删除了它的点。例如23.00它应该仅返回23。我试过这个(“//.",/\$|\,/ g,''),但效果不好。

请告诉我如何修复它。 感谢

5 个答案:

答案 0 :(得分:1)

为了匹配一个点(这是一个特殊的字符),使用反斜杠来逃避它。尝试类似的事情:

 num = num.toString().replace(/\$\.|\,/g, '');

<强>更新

根据你上次的评论,你不希望这段时间后的文字.. 如果它确实是一个Math.Floor(num).ToString()号应该完成这项工作。

如果它不是一个数字,你仍然想使用正则表达式:

 num = num.toString().replace(/\..*/, '');

如果您不致力于正则表达式:

 num = int.Parse(num.ToString().Split('.')[0]); // In case num is a number, otherwise, int.Parse and ToString are not needed

答案 1 :(得分:1)

为什么不这样做,并避免正则表达式? num.Floor().ToString()

答案 2 :(得分:1)

MSDN看起来.ToString("F0", CultureInfo.InvariantCulture)会像18934.1879那样加倍,输出18934。

答案 3 :(得分:1)

您甚至不需要RegEx:

string num = myNumber.ToString().Replace("$","").Replace(".","").Replace(",","");

这假设您想要一个数字,例如“123.45”为“12345”而不是“123”

如果您希望“123.45”为“123”,请改用:

string num = String.Format("{0:#.##}", myNumber).Replace(",","");

答案 4 :(得分:0)

num = num.replace('.', '')

如果您坚持使用正则表达式,请在句点之前放置\。这使得句点成为文字而非正则表达式。