2017-07-14 17 views
6

Tôi có vấn đề trong tính toán trong android, tôi đang làm việc tínhTại sao tính toán trong android bằng php khác nhau?

((1 * (1 + ((0,025 * 12) * ((6-1)/12)))/6);

Trong php tạo ra giá trị

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

Kết quả:

0,1875

Nhưng trong android:

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

Kết quả:

0,16666666666666666

Tôi đã thử tất cả mọi thứ để làm tròn trên các giá trị thập phân, nhưng kết quả là khác nhau. Làm cách nào để tính toán chính xác để có thể điều chỉnh theo giá trị đã cho của php?

Cảm ơn bạn trước.

Trả lời

6

Bạn cần truyền giá trị trả về của tất cả các số thập phân lên gấp đôi hoặc nổi, để nhận tất cả số thập phân. Nó sẽ mặc định số nguyên, có nghĩa là bạn mất một số dữ liệu.

double d = (((1 * (1 + ((0.025 * 12) * ((đôi) (6 - 1)/12))))/6));
Cung cấp 1.875

double f = (((1 * (1 + ((0.025 * 12) * ((6 - 1)/12))))/6));
Tặng 1.666666666

Các vấn đề liên quan