2017-07-14 48 views
6

我有在機器人的計算問題,我做計算爲什麼在android中與php中的計算不同?

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

在PHP生成值

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

結果:

0.1875

但是在android系統:

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

結果:

0.16666666666666666

我已經竭盡所能做到的十進制值四捨五入,但結果是不同的。 我該如何做精確的計算才能夠適應給定的php值?

預先感謝您。

回答

6

您需要將所有十進制數的返回值轉換爲double或float,以獲取所有小數。它會默認爲整數,這意味着你丟失了一些數據。 ((1 *(1 +((0.025 * 12)*((double)(6-1)/ 12))))/ 6)); ((1 *(1 +((0.025 * 12)*((6-1)/ 12))))/ 6));
給出1.666666666

相關問題