java中%什么意思 为什么java里面“3*0.1=0.30000000000000004”,而“4*0.1=0.4”呢?

为什么java里面“3*0.1=0.30000000000000004”,而“4*0.1=0.4”呢?浮点数不能准确描述原因,所以浮点数判断不等于a==B,而是ABS(a-B)<0.0000000

为什么java里面“3*0.1=0.30000000000000004”,而“4*0.1=0.4”呢?

浮点数不能准确描述原因,所以浮点数判断不等于a==B,而是ABS(a-B)<0.000000001,根据情况有几个零。当然,这不是Java独有的,大多数编程语言都有