C# Double - ToString() 格式化为两位小数但没有舍入

标签 c# string double

如何在 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/

相关文章:

string - 从 bash 中的字符串中提取电子邮件字符串

c# - 未经许可注册servicestack?

C# TcpClient.Connect 通过代理

java - 用参数/标记替换正则表达式字符串

java - 为什么使用 truncate 和 BigDecimal 会出现这种奇怪的输出?

c - 当你有字符串和双变量时如何扫描

c++ - CUDA 中的 float(0.0) 与 0.0f

c# - c# 中的 Web 浏览器不显示最新的 css 信息

c# - PdfArray.remove() 没有删除所有注释

ruby - 对 Ruby 长度属性感到困惑