这个程序有问题,我必须计算 base^expo 的值,底数是实数,而指数是整数。使用 (95.123)^12
我期待 548815620517731830194541.899025343415715973535967221869852721
,但我的程序生成 548815620517732160000000.code>,这是错误的
请提出更好的方法。
// declare variables and read values
double myBase = scan.nextDouble();
int myExponent = scan.nextInt();
// display result
System.out.printf("%f", Math.pow(myBase, myExponent));
最佳答案
尝试使用BigDecimal
例子:
BigDecimal base = new BigDecimal("some number");
int exponent = ..;
BigDecimal result = base.pow(exponent);
关于Java:处理求幂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27747224/