c# - 如何将数字格式化为没有百分号的百分比?

标签 c# string-formatting

如何在 .NET 中将数字格式化为百分比而不显示百分号?

如果我有数字 0.13 并使用格式字符串 {0:P0},则输出为 13 %

但是我想得到 13无需将数字乘以 100 并使用格式字符串 {0:N0}.

(背景:在 ASP.NET 中,我有一个带有 BoundField 的 GridView,我想在其中以百分比形式显示一个数字,但没有百分号 (%)。我该怎么做?)


感谢您的回答。如上所述,在编辑时,6 个中有 4 个建议我要避免的内容。我正在寻找一种仅使用格式字符串并避免乘以 100 并使用 {0:N0} 的方法,但答案表明这是不可能的...


通过使用 Richard 接受的解决方案解决:


public class MyCulture : CultureInfo
{
    public MyCulture()
        : base(Thread.CurrentThread.CurrentCulture.Name)
    {
        this.NumberFormat.PercentSymbol = "";
    }
}

Thread.CurrentThread.CurrentCulture = new MyCulture();

最佳答案

用自己的 NumberFormatInfo 定义自定义文化它为其 PercentSymbol 返回 String.Empty属性(property)。

然后将自定义区域性用于受影响的页面(或整个应用程序)。这可以通过从默认设置进行克隆来完成,以便保留其他区域设置。

关于c# - 如何将数字格式化为没有百分号的百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/939132/

相关文章:

c# - 调用 ToString ("YYYY-mm-dd") 导致错误的日期格式

c# - 如何获得字符串操作?

c# - Xamarin表单,如何将byte[]保存到SQLite数据库?

c# - 如何设置有效的本地ADFS URI?

java - 在 jTable 的列中使用确定的字符

Lua string.format ("%d") 对某些整数失败

python - 值错误: unsupported format character '}' when use % string formatting

c# - ASP.NET 登录控件

c# - Active Directory COM 异常 - 发生操作错误 (0x80072020)

c# - NHibernate回滚似乎不起作用