我认为这很简单;.Net 框架有很多功能可以完全按照您的需要格式化数字,但我仍然无法完成这项工作。
问题:根据欧洲规则显示一个数字,所以用“。” 用于千位分隔符和“,”用于小数分隔符,但不固定小数位数。
因此,例如,如果我有 1234,则应该打印为"1.234"
,而 1234.5 应该打印为"1.234,5"
。但是我尝试过的所有格式都没有做到这一点!
示例:假设这ci
是具有正确设置的 CultureInfo,则
num.ToString(ci) -> "1234,5"
小数可以,但没有千位分隔符
num.ToString("G", ci) -> "1234,5"
与上面的千位分隔符相同
num.ToString("N", ci) -> "1.234,50"
可以,但是小数太多
等等。与使用 aNumberFormatInfo
而不是 aCultureInfo
或尝试String.Format
or类似Convert.ToString
。有人有其他想法吗?