全球化自定义数字格式 - 可变小数点

时间:2011-05-05 18:26:51

标签: c# .net vb.net globalization string.format

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

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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