【问题标题】:ASP:Chart number localised formatting without changing cultureASP:图表编号本地化格式而不改变文化
【发布时间】:2016-12-19 17:12:06
【问题描述】:

我在 Web 应用程序 (ASP.Net) 中有一个 ASP:Chart 控件。它们用于显示一些基本的会计信息,如下所示:

但是,我希望能够将小数点分隔符更改为逗号,以便在使用逗号的其他国家/地区显示,例如-28606.62 应该显示为 -28606,62。

我知道我可以在页面后面的代码中更改当前的文化,这将正确格式化数字,但是我不愿意这样做,因为这会改变线程/页面的文化,因此任何计算在页面生命周期内可能完成的等操作可能会搞砸。

还有其他方法可以在 ASP:Chart 控件上指定小数点分隔符吗?

我尝试过使用 LabelStyle.Format 属性,但这不允许您更改分隔符,只能更改数字的格式。

非常感谢

【问题讨论】:

    标签: c# asp.net localization number-formatting aspchart


    【解决方案1】:

    您应该在图表控件上使用FormatNumber 事件,如下所示:

    yourChart.FormatNumber += Chart_FormatLocalisedNumber;
    

    还有你的事件代码:

         private void Chart_FormatLocalisedNumber(object sender, FormatNumberEventArgs e)
         {
                e.LocalizedValue = e.Value.ToString("N2", YourFormatProvider);
         } 
    

    在事件中,您可以将 e.LocalizedValue 设置为您想要的任何值,这将是图表上显示的值。

    在上面的示例中,我使用了 Standard Numeric Format String 并传入了格式提供程序(例如 new Culture("nl-NL")),其中包含“,”作为十进制符号。

    【讨论】:

      猜你喜欢
      • 2019-11-26
      • 1970-01-01
      • 2017-09-02
      • 1970-01-01
      • 2021-11-19
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多