【发布时间】:2013-06-08 04:09:58
【问题描述】:
例如,我正在尝试为双数据类型分配一个较大的值
双 someValue = 36028797018963967D;
但问题是,当我调试变量 someValue 的值时,它变成了 36028797018963968D,我不知道为什么。
任何帮助将不胜感激,
谢谢!
【问题讨论】:
-
什么语言,java?你是怎么调试的?请向我们展示您的代码。我认为当你在java中调试、打印时你应该总是得到工程符号,所以如果你正在格式化它,那么你的格式可能是错误的。尝试改用 BigDecimal。
-
@EngineerDollery 这种行为在大多数使用 64 位浮点的语言中都是正常的。
-
这是在 c# 中,我在 Visual Studio 2012 中逐行调试
标签: double variable-assignment