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

I have problem in calculation in android, i am doing the calculation

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

In php generate value

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

Result :

0.1875

But in android :

System.out.println(((1*(1+((0.025*12)*((6-1)/12))))/6));

Result :

0.16666666666666666

I've tried everything to do rounding on decimal values, but the results are different. How do i do the exact calculation to be able to adjust to the given value of php?

Thank you in advance.

You need to cast the return value of all decimal numbers to double or float, to get all the decimals. It'll default to integers, which mean you loose some data.

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

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