我正在尝试为double数据类型分配一个大值,例如
加倍 someValue = 36028797018963967D ;
但问题是,当我调试变量 someValue 的值时,它变为 36028797018963968D ,我无法找出原因。
任何帮助将不胜感激,
谢谢!
答案 0 :(得分:0)
这两个数字在64位浮点中都是相同的。打印的内容是用于打印它们的方法的工件。试试这个:
assert(36028797018963967D == 36028797018963968D)
有效!