C# ASP:图表编号本地化格式,无需更改区域性

C# ASP:图表编号本地化格式,无需更改区域性,c#,asp.net,localization,number-formatting,aspchart,C#,Asp.net,Localization,Number Formatting,Aspchart,我在web应用程序(ASP.Net)中有一个ASP:Chart控件。它们用于显示一些基本的会计信息,如: 但是,我希望能够将十进制分隔符更改为逗号,以便在使用逗号的其他国家/地区显示,例如-28606.62应显示为-28606,62 我知道我可以更改页面代码中的当前区域性,这将正确设置数字格式,但是我不愿意这样做,因为这将更改线程/页面的区域性,因此在页面生命周期内可能进行的任何计算等可能会出错 是否有其他方法在ASP:Chart控件上指定小数分隔符 我尝试过使用LabelStyle.Form

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

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

我知道我可以更改页面代码中的当前区域性,这将正确设置数字格式,但是我不愿意这样做,因为这将更改线程/页面的区域性,因此在页面生命周期内可能进行的任何计算等可能会出错

是否有其他方法在ASP:Chart控件上指定小数分隔符

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

非常感谢

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

yourChart.FormatNumber += Chart_FormatLocalisedNumber;
以及您的活动代码:

     private void Chart_FormatLocalisedNumber(object sender, FormatNumberEventArgs e)
     {
            e.LocalizedValue = e.Value.ToString("N2", YourFormatProvider);
     } 
在事件中,您可以将e.LocalizedValue设置为您想要的值,这将显示在图表上

在上面的示例中,我使用了一个,并传入了一个格式提供程序(如新区域性(“nl nl”)),该提供程序将“,”作为十进制符号