将Float显示为具有至少1个小数位的字符串

Kri*_*rip 14 c# string string-formatting

我想将float显示为字符串,同时确保显示至少一个小数位.如果有更多的小数,我希望那些显示.

例如:1应显示为1.0 1.2345应显示为1.2345

有人可以帮我格式化字符串吗?

Ign*_*cia 24

使用ToString(".0 ###########")和所需的#小数一样多.

  • 根据[IEEE 754标准](http://en.wikipedia.org/wiki/IEEE_754-2008),使用`float`,你可以在`.0`之后使用6`#`s得到~7位小数精度 对于`double`,你可以使用15`#`s得到~16位精度的十进制数字. (10认同)

Tip*_*ipx 10

这个解决方案类似于其他人说的,但我更喜欢使用string.Format.例如:

float myFloat1 = 1.4646573654;
float myFloat2 = 5;
Console.WriteLine(string.Format("Number 1 : {0:0.00##}", myFloat1));
Console.WriteLine(string.Format("Number 2 : {0:0.00##}", myFloat2));

// Newer Syntax
Console.WriteLine($"{myFloat1:0.00##}";
Console.WriteLine($"{myFloat2:0.00##}";
Run Code Online (Sandbox Code Playgroud)

这会产生:

Number 1 : 1.4646
Number 2 : 5.00
Number 1 : 1.4646
Number 2 : 5.00
Run Code Online (Sandbox Code Playgroud)