使用C#String.Format“{0:p0}”,没有百分号前面的前导空格

时间:2011-06-03 15:24:30

标签: c# string

使用表达式

String.Format("{0:p0}",0.10) gives 10 %

如何让它返回10%(没有10和%之间的空格)?

文化:en-GB

9 个答案:

答案 0 :(得分:72)

String.Format("{0:0%}", 0.10)

答案 1 :(得分:28)

使用NumberFormatInfo.PercentPositivePattern Property

NumberFormatInfo numberInfo = new NumberFormatInfo();
numberInfo.PercentPositivePattern = 1;
Console.WriteLine(String.Format("{0}", 0.10.ToString("P0",numberInfo)));

答案 2 :(得分:8)

如果您没有使用Format()即可,可以执行0.10F.ToString("0%");

答案 3 :(得分:5)

只是增强了@Jay Riggs的回复,并因为我没有足够的声誉来评论,我会选择:

String.Format(numberInfo, "{0:p0}", 0.10);

我认为这种方式可以涵盖您必须格式化多个值的情况:

String.Format(numberInfo, "{0:p0} {1:p0}", 0.10, 0.20);

答案 4 :(得分:2)

String.Format("{0:p0}",0.10).Replace(" ","");

答案 5 :(得分:1)

要添加其他答案,请参阅相关文档:

答案 6 :(得分:0)

请改为尝试:

0.1.ToString( “0%”)

答案 7 :(得分:0)

更改文化信息。

对于某些文化,它显示%10,%10,10%,10%,。1,.10,0.1,0.10 ......

我会检查哪个CultureInfo给你“10%”

答案 8 :(得分:0)

还有小数点。

String.Format("{0:0.0%}", 0.6493072393590115)

答案= 64.9%