【发布时间】:2013-02-10 22:13:43
【问题描述】:
我想将double 值解析为string。我希望我的号码具有指定的位数(直到运行时我才会知道)。如果这个数字可以用位数的非零值表示,这就是我想要的。如果这个数字是这样的零,我希望它用科学计数法表示。
一些例子会让这一点更清楚,这假设我想要 3 位数:
值: .2367 输出:“0.23”
值: .00367 输出:“3.67E-3”
值: 22.3 输出:“22.3”
值: 3364.0 输出:“3.36E3”
我的解决方案将使用ToString() 方法和N numeric format string 如果它导致零恢复为E 格式字符串,但这感觉就像重新发明轮子。有谁知道是否有内置方法可以做到这一点?
【问题讨论】:
-
第一个不想要 2.37E-1 吗?
-
实际上我的偏好是只在所有值都为 0 时使用科学记数法,但任何一种方式都足够了。
标签: c# string-formatting number-formatting