用于浮点转换的正则表达式

时间:2014-09-26 13:26:34

标签: c# regex decimal

我尝试使用C#正则表达式将float转换为字符串。

我想要的是这个。

a)如果值为1234,我想要1234

b)如果值为123.4我想要123.4

c)如果值为0.1234,我想要0.123

d)如果值为12.0004我想要12

到目前为止我有这个

{
    (?:\d*\.)[1-9]{0,3}
}

但是这并没有删除值d)

的点

我该如何正确地做到这一点?

2 个答案:

答案 0 :(得分:1)

它确实更适合楼层功能。

您可以使用此模式(为逐字字符串编写)

\A[0-9]+(?:\.[0-9]{0,2}[1-9])?

test online

答案 1 :(得分:0)

唔,谢谢你的回复。最后,这并不困难。 我用了 : Math.Round(f,3).ToString(" G");

这会将浮点数舍入为3位小数,并将结果格式化为通用格式。 请参阅http://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110).aspx#GFormatString链接。

再次

再次