我想将double
的值解析为string
。我希望我的号码具有指定的数字位数(直到运行时我才会知道)。如果这个数字可以用数字的非零值表示,这就是我想要的。如果数字出现为这样的零,我希望它用科学记数法表示。仅在需要时才使用科学记数法
一些例子将会使这更清楚,这是假定我希望3位:
值: 0.2367 输出: “0.23”
值: 0.00367 输出: “3.67E-3”
Value: 22.3 Output: “22.3”
值: 3364.0 输出:“3.36E3”
我的工作它的解决方案将使用ToString()方法和N
numeric format string,如果它导致零的恢复到E
格式字符串,但这感觉就像重新发明轮子。有谁知道如果内置的方法来做到这一点?
难道你不希望2.37E-1的第一个? – 2013-02-25 17:18:23
实际上,如果所有的值都是0,我的偏好是只使用科学记数法,但任何一种方法都可以。 – Fr33dan 2013-02-25 18:20:21