以百分比形式显示浮点数而不更改数字的值

时间:2011-02-21 20:44:36

标签: c# .net string-formatting

是否可以指定string.Format()参数来添加百分比符号而不更改数字的值?

例:
我们有一个数字44.36,我们希望在网格中显示并输出到Excel "44.36%"。将值除以100然后应用"P"格式不是一种选择。在这种情况下无法更改值,我们只需更改DisplayFormat值即可。使用string.Format("{0}%", valueParam)也不是一种选择。

1 个答案:

答案 0 :(得分:12)

指定自定义格式。您需要使用字面反斜杠'%'来转义百分号'\\',以便它不会将值重新解释为百分比。

var number = 44.36m;
var formatted = number.ToString("0.##\\%"); // "44.36%"
// format string @"0.##\%" works too

// using String.Format()
var sformatted = String.Format("{0:0.##\\%}", number); // "44.36%"