给double型变量赋值怎么变成了这样?

double p1 = 2.30, p2 = 1.90;

然后看调试p1的值为2.2999999999很多98,p2值1.89999很多9,这是怎么回事?

2个回答

存贮精度的原因
所以浮点数在比较时一般不能直接使用等于,即 ==,而是要判断一个小的范围,在这个范围内就认为是相等的。

正常的,如果你了解浮点数在内存中的存储规则,就不奇怪了,因为浮点数,大多数都不能精确表示

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问