Java双乘法解释?

Nig*_*der 7 java double

我最近使用以下代码测试了一些内容

public static void main(String[] args) { double x = 4.35 * 100; System.out.println(x); }.

我感兴趣的是为什么这会产生434.99999999999994而不是435.0.谢谢

Arn*_*lle 11

当你输入

double x = 4.35;
Run Code Online (Sandbox Code Playgroud)

x未按原样存储.它以接近的形式存储(在这种情况下可能是4.349999999).

如果您想要精确的结果,请使用BigDecimal.