C# - 格式float没有尾零

时间:2011-12-12 12:13:06

标签: c# formatting

C#中是否可以格式化

4.52浮点数到4.52字符串

4.520浮点数到4.52字符串,即省略尾零?

编辑:我想我没有说出真正的问题。 我需要一个符合上述例子的模式!

4 个答案:

答案 0 :(得分:4)

假设你想从你的值中省略任何尾随0,这应该可以给你你想要的东西:

ToString("0.####")

否则你可以这样做:

ToString("0.00##")

答案 1 :(得分:3)

有关示例,请参阅this网站。

String.Format("{0:0.00}", 4.520);      // "4.52"

答案 2 :(得分:2)

实际上,你不需要一个模式。 .NET总是省略浮点数的尾零,除非指定不这样做。

所以Console.WriteLine(4.520)会输出4.52Console.WriteLine(4.52)Console.WriteLine(4.520000000000)会输出Console.WriteLine(4.5)输出4.5

在上面的示例中,System.Console.WriteLine方法将在内部调用浮点数上的ToString()(没有模式)。

另外,如果您正在寻找更具体的内容,可以查看

http://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.71).aspx

获取更多数字格式字符串。

答案 3 :(得分:1)

所有这些都导致“4.52”:

string formatted = 4.52.ToString();
string formatted = 4.520.ToString();

因为这太容易了,我想知道你的浮点数是否真的是一个字符串:

string formatted = "4.52".Trim('0');
string formatted = "4.520".Trim('0');