我需要将 double 值格式化为小数点后一位而不四舍五入。
double value = 3.984568438706
string result = "";
我试过的是:
1)
result = value.ToString("##.##", System.Globalization.CultureInfo.InvariantCulture) + "%";
// returns 3.98%
2)
result = value.ToString("##.#", System.Globalization.CultureInfo.InvariantCulture) + "%";
// returns 4%
3)
result = value.ToString("##.0", System.Globalization.CultureInfo.InvariantCulture) + "%";
// returns 4.0%
4)(根据其他建议)
value = (value / 100);
result = String.Format("{0:P1}", Math.Truncate(value * 10000) / 10000);
// returns 4.0%
result = string.Format("{0:0.0%}",value); // returns 4.0%
我需要显示的是值3.9%
提前感谢您的帮助。
最佳答案
result=string.Format("{0:0.0}",Math.Truncate(value*10)/10);
关于C# 如何在不四舍五入的情况下将 double 格式化为小数点后一位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11744264/