数学pow返回1.0

Fri*_*ons 0 java android

我是java dev中的新手,所以它可能是一个微不足道的问题:

double u130 = (1 / 30);
double q1 = Math.pow(1.025, u130);
Run Code Online (Sandbox Code Playgroud)

q1等于1.0,但应该是1.0008234259155

u130 = 0.0也错了.

我的理解是双倍的小数位,所以问题出在哪里?

顺便说一句,我在Android设备上测试,这应该是一个限制?!

谢谢

rom*_*m1v 5

1 / 30是欧几里德分裂,结果是0(as int).

相反,你需要一个真正的分裂:

double u130 = 1. / 30;
double q1 = Math.pow(1.025, u130);
Run Code Online (Sandbox Code Playgroud)