为什么Android中的计算与php不同?

Cor*_*hid 6 php android calculator

我在android中的计算有问题,我在做计算

((1*(1 +((0.025*12)*((6-1)/ 12)))/ 6);

在php中生成价值

echo ((1*(1+((0.025*12)*((6-1)/12))))/6);
Run Code Online (Sandbox Code Playgroud)

结果:

0.1875

但在android中:

System.out.println(((1*(1+((0.025*12)*((6-1)/12))))/6));
Run Code Online (Sandbox Code Playgroud)

结果:

0.16666666666666666

我已经尝试了对小数值进行舍入的所有内容,但结果是不同的.我如何进行精确计算才能调整到给定的php值?

先感谢您.

Moo*_*oom 6

您需要将所有十进制数的返回值强制转换为double或float,以获取所有小数.它将默认为整数,这意味着您丢失了一些数据.

double d =(((1*(1 +((0.025*12)*((double)(6 - 1)/ 12))))/ 6));
给出1.875

double f =(((1*(1 +((0.025*12)*((6-1)/ 12))))/ 6));
给出1.666666666