如何取回十进制整数 - java?

How to get back a decimal integer - java?

所以我试图转换这个等式:[10^(((level + 7)/2)^0.5)] - 100;

我执行以下代码:

  float A = (level + 7)/2;
  float B = (float) Math.pow(A,0.5);
  float totalExp = (float) ((Math.pow(10,B))-100);

如果我输入 2 作为级别,我应该返回 32.22706056。但是 Math.pow(A,0.5) returns 我是双倍的,所以如果 level = 2,那么 A = 4.5,但我得到的是 4.0,类似地 Math.pow(4.5,0.5) returns 我是一个双倍数,没有小数,我的所有计算都被取消了。希望有人能在这里提供帮助!

干杯!

尝试用 100.0100D 替换 100。同样修复整数2

在您的程序中使用浮点文字:

 float A = (float)((level + 7.0)/2.0);
 float B = (float) Math.pow(A,0.5);
 float totalExp = (float) ((Math.pow(10.0,B))-100.0);

假设 level 是一个整数,(level + 7)/2 是一个整数表达式,在分配给浮点数之前会丢失小数点。

试试这个

    float level = 2;

    float A = (level + 7) / 2;
    float B = (float) Math.pow(A, 0.5);
    float totalExp = (float) ((Math.pow(10, B)) - 100);

它将return totalExp = 32.22703