为什么double型数据转换为int 型数据会失真

在做书上的一道JAVA题时发现double型数据转换为int 型数据有些会失真,发现16.49,17.49,18.49,19.49四个乘100之后输出DOUBLE型,不对,INT型就更不要说了…………希望有人解释一下为什么会真,难道电脑也会贪污吗?

第1个回答  2013-10-16
int型数据一般占2个字节,double型占4个字节,在转换的时候int型的盛不了,当然会有些数据没了,造成失真
第2个回答  2013-10-16
INT占4位,double占8位,一转化就丢了4位,你说能不失真吗
第3个回答  2013-10-16
在Java中,int占4个字节(32位),double占8个字节(64位)。

在double转换成int时,他会只保留小数点左边的数字。本回答被网友采纳