【发布时间】:2011-09-17 21:54:33
【问题描述】:
我想用 尽可能多的数字 格式化一个双精度值,以保持相同的值。 我确实不想使用指数表示法,因为字符串的接收者需要浮点表示法。
例子:
12.0 -> "12"
12.20300 -> "12.203"
编辑: Round-trip specifier "R" 似乎可以满足我的需要。至少对于我测试的数字,它按预期工作。
【问题讨论】:
-
为什么不能使用
printf( "%d" )?据我所知,它不会将任何尾随或前导零放在双精度数上。 -
因为我上次检查时,C 不是受支持的 CLR 语言 :)
-
@cody,似乎
double.ToString()已经省略了尾随的 0,还是您发现不同?或者您是否使用了其他类型,例如decimal?我已删除我的答案,等待更多信息。 -
@Anthony Pegram: double.ToString() 在某些情况下可能会返回指数符号,这不是我想要的。
-
您正在与需要将浮点值格式化为 string 的代码进行互操作?这不可能……
标签: .net formatting floating-point tostring number-formatting