我想用固定的四位小数来格式化 double 值。我想要什么:
- “小”号应该完整显示,即1234.56789应该显示为1234.5679
- “大”数应以指数表示法显示
我无法同时实现:
(1234.56789).ToString("F4", CultureInfo.InvariantCulture)
产量:
1234.5679
但是:
(123456789123456789.123456789).ToString("F4", CultureInfo.InvariantCulture)
产量:
1234567891234567000.0000
使用 G4
产生大数 1.235E+17
和小数 1235
。
我也尝试了“E4”和“e4”,但没有任何好结果。
那么,我应该使用什么格式来实现与默认格式相同的行为,即不使用默认字符串,而是将小数位数减少到四位?不可能是我被迫进行字符串破解或必须执行“ifs”来检查数字是否在特定范围内......
最佳答案
使用G8它会给你想要的结果
(1234.56789).ToString("G8", CultureInfo.InvariantCulture)
输出:1234.5679
(123456789123456789.123456789).ToString("G8", CultureInfo.InvariantCulture)
输出:1.2345679E+17
关于c# - .net : What is the correct format string for a fixed number of decimal places, 但 "x.xxE+xxx"对于大数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37460161/