如何在 C# 中将 Double
格式化为 String
以便只有两位小数?
如果我使用 String.Format("{0:0.00}%", myDoubleValue)
则数字会四舍五入,我想要一个简单的截断而不进行任何四舍五入。我还希望转换为 String
是区分文化的。
最佳答案
我使用以下内容:
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
关于C# Double - ToString() 格式化为两位小数但没有舍入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2453951/