小编SMU*_*LER的帖子

C#如何在不进行舍入的情况下将双精度数组格式化为一位小数

我需要将double值格式化为一个小数位而不进行舍入.

double value = 3.984568438706
string result = "";
Run Code Online (Sandbox Code Playgroud)

我试过的是:

1)

result = value.ToString("##.##", System.Globalization.CultureInfo.InvariantCulture) + "%"; 
// returns 3.98%
Run Code Online (Sandbox Code Playgroud)

2)

result = value.ToString("##.#", System.Globalization.CultureInfo.InvariantCulture) + "%"; 
// returns 4%
Run Code Online (Sandbox Code Playgroud)

3)

 result = value.ToString("##.0", System.Globalization.CultureInfo.InvariantCulture) + "%"; 
 // returns 4.0%
Run Code Online (Sandbox Code Playgroud)

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%
Run Code Online (Sandbox Code Playgroud)

我需要显示的是3.9%的值

在此先感谢您的帮助.

c# rounding string-formatting

20
推荐指数
2
解决办法
4万
查看次数

标签 统计

c# ×1

rounding ×1

string-formatting ×1