我想格式化我的double值,限制为2个有效位,而不是数字的整数部分。
目前我使用的是G2表示法,但如果整数部分包含的位数超过2位,它就会在科学表示法中显示数字。
我也尝试过0.##,但无论整数部分有多少位,它都会在小数部分保留两个有效位。
我想要的是:
1234 => 1234
123.4 => 123
12.34 => 12
1.234 => 1.2
0.1234 => 0.12
0.01234 => 0.012
0.001234 => 0.0012这是一种标准的方法吗?还是我应该自己重新发明轮子?
发布于 2020-04-29 07:34:45
我不能想出一种方法来做这件事,因为它有点非常规,但这个扩展可能会起作用:
public static string DoubleLimited(this double n){
return n < 100 ? $"{n:G2}" : n.ToString("#0.");
}使用方式如下
var num = 1234.0;
Console.WriteLine(num.DoubleLimited());https://stackoverflow.com/questions/61491216
复制相似问题