小编典典

C#Double-ToString()格式为两位小数,但不舍入

c#

如何在C#中将Doublea 格式化为a String,以便仅保留两位小数?

如果我使用String.Format("{0:0.00}%", myDoubleValue)该数字,则将其四舍五入,并且我想要一个没有任何舍入的简单截断。我也希望转换对String文化敏感。


阅读 355

收藏
2020-05-19

共1个答案

小编典典

我使用以下内容:

double x = Math.Truncate(myDoubleValue * 100) / 100;

例如:

如果数字是50.947563,并且您使用以下内容,则会发生以下情况:

- Math.Truncate(50.947563 * 100) / 100;
- Math.Truncate(5094.7563) / 100;
- 5094 / 100
- 50.94

而且您的答案被截断了,现在只需执行以下操作即可格式化字符串:

string s = string.Format("{0:N2}%", x); // No fear of rounding and takes the default number format
2020-05-19