3

我正在尝试更改我公司应用程序中现有的数字格式,以使其对国际用户更具可读性。这是一个股票交易应用程序,所以大多数股票价格的数字都精确到小数点后 2 位,比如 so-> 17.23 我们还可以得到精确到小数点后 4 位的刻度,所以一便士股票可能是 0.0341。我们用于股票的原始字符串格式是“#,##0.00##”,这将为我们提供我们想要的格式(基本上是修剪 '0')。这里的问题是“,”和“。” 强制用户使用,在许多其他国家/地区,千位分隔符是“。” 小数点是','。老板不想对所有数字都使用“N4”,即使这样可以解决全球化问题。

除了编写一些中间人代码来国际化以原始方式或其他 string.format 方法格式化的数字之外的其他选择?

4

2 回答 2

1

看一下这个:

float value = 0.0341f;
string output = string.Empty;
CultureInfo brazil = new CultureInfo("pt-BR");
CultureInfo usa = new CultureInfo("en-US");
output = value.ToString("C4", brazil.NumberFormat); //output is R$ 0,0341
output = value.ToString("C4", usa.NumberFormat); //output is $0.0341
于 2011-05-05T18:33:26.420 回答
0

自定义格式字符串中的,and.已经转换为当前区域性的正确分隔符。您不需要更改代码。请参阅MSDN

于 2011-05-05T18:31:31.610 回答