Double.ToString方法的问题

时间:2011-05-04 20:07:16

标签: c# tostring

我正在使用它:

dSize.ToString("#.#", System.Globalization.CultureInfo.CurrentCulture); 

dSizedouble的位置。当dSize类似于2.5 但是,如果dSize类似于3时,它可以正常工作 - 所以它没有小数部分 - 它是返回"3"这是错误的。我希望它返回"3.0",所以仍然只有一个小数点。

有什么想法吗?

3 个答案:

答案 0 :(得分:3)

使用0表示即使数字为零也应打印数字:

dSize.ToString("#.0", System.Globalization.CultureInfo.CurrentCulture)

这将打印.3而不是0.3;如果你想要打印小数点前的数字,也可以在那里使用0

dSize.ToString("0.0", System.Globalization.CultureInfo.CurrentCulture)

答案 1 :(得分:2)

使用

dSize.ToString("#.0", CultureInfo.CurrentCulture);

#是一个数字占位符,如果该位置的数字中有一个数字,则会打印出来。

0是一个数字占位符,如果有一个数字,将打印该数字,如果该位置没有数字则为零。

参考:Custom Numeric Format Strings

答案 2 :(得分:1)

在MSDN上查看Custom Numeric Format Strings以及Custom Number Format Strings Output Examples

这些应该与@Timwi提供的答案一起证明是有用的。