我想要的是这样的:
String.Format("Value: {0:%%}.", 0.8526)
其中%%是格式提供程序或我正在寻找的任何东西。 结果:值:%85.26..
我基本上需要它的wpf绑定,但首先让我们解决一般的格式问题:
<TextBlock Text="{Binding Percent, StringFormat=%%}" />
我想要的是这样的:
String.Format("Value: {0:%%}.", 0.8526)
其中%%是格式提供程序或我正在寻找的任何东西。 结果:值:%85.26..
我基本上需要它的wpf绑定,但首先让我们解决一般的格式问题:
<TextBlock Text="{Binding Percent, StringFormat=%%}" />
当前回答
这段代码可以帮助你:
double d = double.Parse(input_value);
string output= d.ToString("F2", CultureInfo.InvariantCulture) + "%";
其他回答
这段代码可以帮助你:
double d = double.Parse(input_value);
string output= d.ToString("F2", CultureInfo.InvariantCulture) + "%";
如果您有充分的理由抛开依赖区域性的格式,并显式控制值和“%”之间是否有空格,以及“%”是开头还是结尾,那么您可以使用NumberFormatInfo的PercentPositivePattern和PercentNegativePattern属性。
例如,要获得一个尾随“%”且值与“%”之间没有空格的十进制值:
myValue.ToString("P2", new NumberFormatInfo { PercentPositivePattern = 1, PercentNegativePattern = 1 });
更完整的例子:
using System.Globalization;
...
decimal myValue = -0.123m;
NumberFormatInfo percentageFormat = new NumberFormatInfo { PercentPositivePattern = 1, PercentNegativePattern = 1 };
string formattedValue = myValue.ToString("P2", percentageFormat); // "-12.30%" (in en-us)
使用P格式字符串。这因文化而异:
String.Format("Value: {0:P2}.", 0.8526) // formats as 85.26 % (varies by culture)
如果你想使用一种格式,让你可以像你的条目一样保留数字,这种格式适合我: “# \ \ %”
我发现上面的答案是最好的解决方案,但我不喜欢百分号前的前导空格。我见过一些复杂的解决方案,但我只是使用这个替换加法的答案,而不是使用其他舍入解决方案。
String.Format("Value: {0:P2}.", 0.8526).Replace(" %","%") // formats as 85.26% (varies by culture)