我想把数字转换成本地化的字符串。本地化的指数符号?
对于整数和金钱的价值很简单,因为字符串只是一系列数字和数字分组分隔符。例如:
12 345 678 901
(保加利亚)12.345.678.901
(加泰罗尼亚)12,345,678,901
(英文)12,34,56,78,901
(印地文)12.345.678.901
(弗里斯兰)12?345?678?901
(普什图语)12'345'678'901
(德国)
我使用Windows GetNumberFormat
函数来格式整数(和GetCurrencyFormat
来格式货币值)。
但是一些号码不能在固定符号合理表示,并且需要scientific notation:
- 6.0221417930×10
或者更具体E notation:
- 6.0221417930E23
如何获取科学记数法的本地化版本?
我想我可以利用本地化数字构造它:
6.0221417930E23
6,0221417930E23
6.0221417930e23
6·0221417930E23
6·0221417930e23
6,0221417930e23
6,,0221417930e23
6.0221417930E+23
6,0221417930E+23
6.0221417930e+23
6,0221417930e+23
6·0221417930E+23
6·0221417930e+23
6,,0221417930e+23
6.0221417930E23
6,0221417930E23
6.0221417930e23
6,0221417930e23
6·0221417930E23
6·0221417930e23
6,,0221417930e23
6.0221417930X10^23
6,0221417930X10^23
6.0221417930x10^23
6,0221417930x10^23
6·0221417930X10^23
6·0221417930x10^23
6,,0221417930x10^23
6.0221417930·10^23
6,0221417930·^23
6.0221417930.10^23
6,0221417930.10^23
6·0221417930·^23
6·0221417930.10^23
6,,0221417930.10^23
,但我不知道其他文化(除了我的文化)使用Ë为幂。
只是一个音符 - 这真的是一个真实而诚实的问题:真的有文化,十进制值的小数部分有一个“千分之一”分隔符? – Romain
@Romain:我在Windows中看不到任何会导致'GetNumberFormat'使用任何数字分组的语言环境。 –