用Math.round()或BigDecimal 保存两位小数 效率为什么会很低很低呢?

xling xling 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
程序中想对数组中一元素p[j]进行四舍五入保留小数点后两位的操作,用:
float a = (float)(nodeDegree[j])/sumOfDegree;
BigDecimal b = new BigDecimal((double)a);
p[j] = b.setScale(2, BigDecimal.ROUND_HALF_UP).floatValue();

和
p[j] = (float)Math.round(((float)(nodeDegree[j])/sumOfDegree)*100)/100;

发现程序跑的非常慢,请教大虾们这是什么原因呢?
...全文

相关推荐

评论 11
收藏 已收藏
分享
返回顶部
xling
Java SE 62,620 成员 307,251 内容