C#逗号分隔数字的默认格式 [英] C# Default Format For Comma-Delimited Numbers

查看:0
本文介绍了C#逗号分隔数字的默认格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个C#应用程序,它在文本框中显示一些大数字。我希望它使用逗号作为千位分隔符。我使用以下代码来完成此操作:

 txtNumberDisplay.Text = intNumber.ToString("N0");

以上一直运行良好,直到最近才以以下形式正确显示数字:

 123,456

最近,千位分隔符不知何故变成了句点"。数字显示如下:

 123.456

我的第一个想法是区域性设置不正确,但我在当前线程显示这个数字时检查了它的默认区域性,并将其正确设置为"en-US"。你知道为什么这会显示句点而不是逗号吗?

谢谢,

推荐答案

我的第一个想法是区域性设置不正确,但我在当前线程显示这个数字时检查了它的默认区域性,并将其正确设置为"en-US"。你知道为什么这会显示句点而不是逗号吗?

区域性不同于"en-US",或者您已在控制面板的区域设置中自定义了数字格式。

在不指定区域性的情况下执行intNumber.ToString("N0")时,使用的区域性为Thread.CurrentThread.CurrentCulture。也许您检查了Thread.CurrentThread.CurrentUICulture,它基于Windows的语言版本并且不用于格式化?

如果当前区域性确实是"en-US",则应转到控制面板->时钟、语言和区域->更改日期、时间或数字格式,并确保数字分组符号是逗号而不是点。控制面板中显示的符号是在设置数字格式时未指定CultureInfo时使用的符号。

您有几个选项:

  • 格式化时强制区域性,例如intNumber.ToString("N0", CultureInfo.InvariantCulture)以根据需要获取逗号。

  • 实现用户应该能够控制格式。这就是您的代码当前执行的操作。

    /li>

这篇关于C#逗号分隔数字的默认格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆