停止Double的自动无效小数截断

时间:2017-07-13 17:42:07

标签: c# formatting double number-formatting

我有一个双重想要完全存储,没有以下任何格式:

Ex#1:double a = 12.        格式化为:12

Ex#2:double b = 50.0        格式化为:50

前#3:double c = 88.0000000000        格式化为:88

这可能,还是我必须将其存储为字符串?

谢谢。

编辑:示例:Double设置为52.000                 用户单击附加的应用程序中的按钮                 52.000与1.新数字:52.0001                 那些曾经微不足道的小数现在有意义                 因为如果先前从52.000那里得到的零被带走了                 这个数字是52.1。这是完全不同的                 号码来自52.0001。因此,为什么零在这方面很重要                 情况。

2 个答案:

答案 0 :(得分:3)

你不能double不存储无关紧要的数字。

您的选择:

  • 如果您只需要打印零,请使用适当的格式
  • 切换到保留零的decimal(小心构建它 - Decimal data type is stripping trailing zero's when they are needed to display)。
  • 将值保留为字符串以用于显示目的,并在您想要进行计算时转换为数字类型。基于编辑,这是您正在寻找的选项,因为您正在构建计算器 - 实际上文本输入应保留为文本,直到用户最终确定输入完成。

答案 1 :(得分:0)

如果您使用16.0并且不想转换为/来自字符串,您可能会觉得这很有用:

decimal