问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java将一个数按照规定拆分成几个数的和?

发布网友 发布时间:2022-04-26 15:01

我来回答

1个回答

热心网友 时间:2023-09-20 10:44

除以7必然涉及到保留两位小数的四舍五入问题,这里使用java的BigDecimal来处理除法,四舍五入的保留方法使用RoundingMode.HALF_EVEN:

RoundingMode.CEILING:取右边最近的整数

RoundingMode.DOWN:去掉小数部分取整,也就是正数取左边,负数取右边,相当于向原点靠近的方向取整

RoundingMode.FLOOR:取左边最近的正数

RoundingMode.HALF_DOWN:五舍六入,负数先取绝对值再五舍六入再负数

RoundingMode.HALF_UP:四舍五入,负数原理同上

RoundingMode.HALF_EVEN:这个比较绕,整数位若是奇数则四舍五入,若是偶数则五舍六入

我认为无论如何都是无法避免四舍五入导致的精度变化的问题,解决方法只能在最后的结果强行再舍掉小数位数:


public class Main {
public static void main(String[] args) {
BigDecimal bigDecimal = new BigDecimal("10");
BigDecimal seven = new BigDecimal("7");

BigDecimal b1 = bigDecimal.divide(seven, 2, RoundingMode.HALF_EVEN).multiply(new BigDecimal("2"));
System.out.println(b1);
BigDecimal b2 = bigDecimal.divide(seven, 2, RoundingMode.HALF_EVEN);
System.out.println(b2);
BigDecimal b3 = bigDecimal.divide(seven, 2, RoundingMode.HALF_EVEN).multiply(new BigDecimal("2"));
System.out.println(b3);
BigDecimal b4 = bigDecimal.divide(seven, 2, RoundingMode.HALF_EVEN);
System.out.println(b4);
BigDecimal b5 = bigDecimal.divide(seven, 2, RoundingMode.HALF_EVEN);
System.out.println(b5);

System.out.println(b1.add(b2).add(b3).add(b4).add(b5).setScale(0,RoundingMode.HALF_EVEN));
}
}


运行结果:

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如果两个男生喜欢上同一个女生怎么办 玛丽居里学者 玛丽居里奖学金含金量 玛丽居里学者含金量 玛丽居里学者什么级别 豆渣肥料适合什么花 豆渣拌在土里能种花吗-豆渣怎样做肥料好 生物化学和微生物学是一个专业吗 请问这狗狗是什么品种?是不是杂交的啊? ...鉴别下这是啥狗狗?大概三个月不到点。个人感觉像是蝴蝶和土狗... CAD不知道按到什么键,图纸变成其他图了? Java中一个BigDecimal和一个int类型的如何相乘? 怎么从CAD变成图片格式 java怎么设置bigdecimal值? cad 里 在模型画的东西 怎么变成图纸 JAVA里面的BigDecimal的除法问题? cad图怎么变成普通图片格式 关于BigDecimal的divide()方法。。。求解。。。 Java里面BigDecimal.divide()方法能不能实现保留小数点前后共35位这样的操作 java中 BigDecimal的类型的除法? CAD图怎么变成图片jpg格式? 怎么把CAD图变成图片文件 cad图怎么变成图纸 怎么把CAD里画的图变成图片? 玖富钱包的钱你也投了吗?怎么要回来的? 悟空理财和玖富钱包是关系? 玖富钱包八月21号有回款了吗? 玖富钱包投资100,45天后提现多少? 玖富钱包要交那个风险金是真的吗? 玖富钱包这个平台怎么样? CAD图下载后咋变成图片了 java中bigdecimal类型的变量如何相互加减乘除? 小米手机怎么开空调不用连接遥控器 Java中 一个 BigDecimal 和一个 int类型的 如何相乘拜托各位了 3Q java bigdecimal是什么类型 java如何进行精确运算 小米8如何开空调 用java写计算器中两个大数作除法的思路算法是什么? java简单加减乘除 Java中怎么把除法精确到小数点后100位 java除法计算 iPad air连接无线网显示成功,但不能上网,看到IP地址不正确? 连接wifi的时候一直显示获取ip地址失败,什么原因?怎么解决? ...上网络,但是无线网能正常使用,电脑上面连接不上说是IP地址错误... 谁有跑车的CAD图纸啊,带尺寸标注的 用CAD怎么画跑车啊? 求兰博基尼CAD设计图纸 CAD能画三维跑车吗? 急求全顺车CAD图纸,感激不尽! 求奥迪R8的CAD图纸,最好每个细节都有~谢谢谢谢