C#中是否可以格式化
4.52
浮点数到4.52
字符串
和
4.520
浮点数到4.52
字符串,即省略尾零?
编辑:我想我没有说出真正的问题。 我需要一个符合上述例子的模式!
答案 0 :(得分:4)
假设你想从你的值中省略任何尾随0,这应该可以给你你想要的东西:
ToString("0.####")
否则你可以这样做:
ToString("0.00##")
答案 1 :(得分:3)
答案 2 :(得分:2)
实际上,你不需要一个模式。 .NET总是省略浮点数的尾零,除非指定不这样做。
所以Console.WriteLine(4.520)
会输出4.52
,Console.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');