我正在尝试更改我公司应用程序中现有的数字格式,以使其对国际用户更具可读性。这是一个股票交易应用程序,因此大多数股票价格都以精确到小数点后 2 位的数字出现,例如 -> 17.23 我们也可以得到精确到小数点后 4 位的报价,因此一分钱的股票可能是 0.0341。我们用于股票的原始字符串格式是“#,##0.00##”,这将为我们提供我们想要的格式(实质上是修剪“0”)。这里的问题是“,”和“。”被强加给用户,在许多其他国家/地区,千位分隔符是“.”小数点为','。 Boss man 不想对所有数字都使用“N4”,即使这可以解决全局化问题。是否可以有一个全局化的自定义字符串格式?
除了编写一些中间人代码来国际化以原始方式或其他 string.format 方法格式化的数字之外,还有其他选择吗?
最佳答案
检查一下:
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
关于c# - 全局化的自定义数字格式 - 可变小数点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5902450/