admin管理员组文章数量:1794759
BigDecimal multiply乘法运算
BigDecimal multiply乘法运算
代码语言:javascript代码运行次数:0运行复制package com.example.core.mydemo;
import java.math.BigDecimal;
public class MulTest {
public static void main(String[] args) {
BigDecimal distancedbg = new BigDecimal(0.0055);
//输出:5
System.out.println(distancedbg.multiply(new BigDecimal(1000)).longValue());
//输出:6
System.out.println(new BigDecimal(distancedbg.multiply(new BigDecimal(1000)).longValue()).multiply(new BigDecimal(1.4)).longValue());
//为什么输出是6,拆分结果:
//5
System.out.println(new BigDecimal(distancedbg.multiply(new BigDecimal(1000)).longValue()));
//6.999999999999999555910790149937383830547332763671875
System.out.println(new BigDecimal(distancedbg.multiply(new BigDecimal(1000)).longValue()).multiply(new BigDecimal(1.4)));
//6
System.out.println(new BigDecimal(distancedbg.multiply(new BigDecimal(1000)).longValue()).multiply(new BigDecimal(1.4)).longValue());
//输出:7.699999999999999553135232588374492479488253593444824218750000
System.out.println(distancedbg.multiply(new BigDecimal(1000)).multiply(new BigDecimal(1.4)));
BigDecimal big = distancedbg.multiply(new BigDecimal(1000)).multiply(new BigDecimal(1.4));
long result = big.setScale(0, BigDecimal.ROUND_HALF_UP).longValue();
//输出:8 (四舍五入,不保留小数点)
System.out.println(result);
double result2 = big.setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue();
////输出:7.7 (四舍五入,保留1位小数点)
System.out.println(result2);
long result3 = big.longValue();
////输出:7 (直接强转取整)
System.out.println(result3);
}
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2022-12-06,如有侵权请联系 cloudcommunity@tencent 删除bigdecimalclasscompublicsystem本文标签: BigDecimal multiply乘法运算
版权声明:本文标题:BigDecimal multiply乘法运算 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1754981159a1708998.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论