我想将一个double
值解析为string
. 我希望我的号码具有指定的位数(直到运行时我才知道)。如果这个数字可以用位数的非零值表示,这就是我想要的。如果这个数字是这样的零,我希望它用科学计数法表示。
一些例子会让这一点更清楚,这假设我想要 3 位数字:
值: .2367输出: “0.23”
值: .00367输出: “3.67E-3”
值: 22.3输出: “22.3”
值: 3364.0输出: “3.36E3”
我的解决方案将使用ToString()方法和N
数字格式字符串,如果它导致零恢复为E
格式字符串,但这感觉就像在重新发明轮子。有谁知道是否有内置方法可以做到这一点?