当前位置:  开发笔记 > 编程语言 > 正文

如何在没有百分号的情况下将数字格式化为百分比?

如何解决《如何在没有百分号的情况下将数字格式化为百分比?》经验,为你挑选了3个好方法。

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

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

但是我想13改为,而不必将数字乘以100并使用格式字符串{0:N0}.

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


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


使用理查德接受的解决方案解决:

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

Thread.CurrentThread.CurrentCulture = new MyCulture();

Richard.. 16

定义自己的自定义文化,该文化NumberFormatInfo返回String.EmptyPercentSymbol属性.

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



1> Richard..:

定义自己的自定义文化,该文化NumberFormatInfo返回String.EmptyPercentSymbol属性.

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



2> paxdiablo..:

为什么不将数字乘以100并使用"{0:N0}"格式字符串?在我看来,这是最简单的解决方案.

除非你能提出一个可行的理由,为什么那是不可能的,这是我的建议.这不是火箭科学 :-)



3> balexandre..:

但乘以100正是你想要的!

protected void myGrdiView_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        myObjectType ot = (myObjectType)e.Row.DataItem;

        ot.myNumber = ot.myNumber * 100; // multiply by 100
    }
}

并在HTML中


推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有