java中怎么给一个数开三次方?注:math.pow(double a,double b)不准确

事情是这个样子的doubled=125;在执行完语句d=Math.pow(d,(double)1/3);之后d=4.9999999999999;请问怎么才能得到正确结果... 事情是这个样子的double d = 125;在执行完语句d = Math.pow(d,(double)1/3);之后d = 4.9999999999999;请问怎么才能得到正确结果 展开
 我来答
百度网友1f0ad9f
2019-03-25 · 超过131用户采纳过TA的回答
知道小有建树答主
回答量:248
采纳率:72%
帮助的人:112万
展开全部
d = StrictMath.pow(d,(double)1/3);
更多追问追答
追问
不对啊,兄弟,我又去试了一些数据 d = 1000;时执行d = StrictMath.pow(d,(double)1/3);之后,d = 9.999999999998
追答
double d = 1000000; 
d = StrictMath.pow(d,(double)1/3);
BigDecimal b = new BigDecimal(d);  
d = b.setScale(30, BigDecimal.ROUND_HALF_UP).floatValue();  
System.out.println(d);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式