如何取回十进制整数 - 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.0
或 100D
替换 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
所以我试图转换这个等式:[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.0
或 100D
替换 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