首先效果展示:

public static void main(String[] args) {String s1="2.560";String s2="0.525";String add = BigDecimalUtils.add(s1, s2, 2);String subtract = BigDecimalUtils.subtract(s1, s2,2);String multiply = BigDecimalUtils.multiply(s1, s2,  2);String divide = BigDecimalUtils.divide(s1, s2, 2);System.out.println(s1+"+"+s2+"="+add);System.out.println(s1+"-"+s2+"="+subtract);System.out.println(s1+"*"+s2+"="+multiply);System.out.println(s1+"/"+s2+"="+divide);}

输出结果:

注意:该工具直接复制粘贴到代码里面即可使用

package com.excel.util;import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;/*** @author lenovo*/public class BigDecimalUtils {/*** 两数相加保留(Scale)位小数* @param s1* @param s2* @param scale 小数位* @return  s1+s2*/public static String add(String s1, String s2, int scale) {BigDecimal d1 = new BigDecimal(s1);BigDecimal d2 = new BigDecimal(s2);BigDecimal result = d1.add(d2);result = result.setScale(scale, 4);return result.toPlainString();}/*** 两数相减保留(Scale)位小数* @param s1* @param s2* @param scale 小数位* @return s1-s2*/public static String subtract(String s1, String s2, int scale) {BigDecimal d1 =  new BigDecimal(s1);BigDecimal d2 =  new BigDecimal(s2);BigDecimal result = d1.subtract(d2);result = result.setScale(scale, 4);return result.toPlainString();}/*** 两数相乘保留(Scale)位小数* @param s1* @param s2* @param scale 小数位* @return s1*s2*/public static String multiply(String s1, String s2, int scale) {BigDecimal d1 =  new BigDecimal(s1);BigDecimal d2 =  new BigDecimal(s2);BigDecimal result = d1.multiply(d2);result = result.setScale(scale, 4);return result.toPlainString();}/*** 两数相除保留(Scale)位小数* @param s1* @param s2* @param scale 小数位* @return s1/s2*/public static String divide(String s1, String s2, int scale) {MathContext mc = new MathContext(20, RoundingMode.HALF_UP);BigDecimal d1 =  new BigDecimal(s1);BigDecimal d2 =  new BigDecimal(s2);BigDecimal result = d1.divide(d2, mc);result = result.setScale(scale, 4);return result.toPlainString();}
}

封装BigDecimal的加减乘除方法,保留自定义位小数的工具。相关推荐

  1. BigDecimal 两束运算 保留两位小数

    package com.example.bwjf.demo.util; import java.math.BigDecimal; public class NuberUtil { /***@descr ...

  2. Java setScale方法保留n位小数

    使用java.math.BigDecimal类的setScale方法可以设置任意方式的舍入. 方法声明: public BigDecimal setScale​(int newScale, Round ...

  3. 【Python】利用format方法保留三位小数

    format方法是内置的Python字符串格式化方法. 基本语法为:str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 : 来代替以前的 % . format 函数可以接 ...

  4. BigDecimal 保留两位小数

    java保留两位小数5种方法 四舍五入,例: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text ...

  5. 前端保留两位有效数字_js保留两位小数方法总结

    本文是小编针对js保留两位小数这个大家经常遇到的经典问题整理了在各种情况下的函数写法以及遇到问题的分析,以下是全部内容: 一.我们首先从经典的"四舍五入"算法讲起 1.四舍五入的情 ...

  6. python 保留两位小数方法

    参考文章:python 保留两位小数方法 保留两位小数,并做四舍五入处理 方法一:使用字符串格式化 a = 12.345 print("%.2f" % a)# 12.35 方法二: ...

  7. js保留两位小数方法

    一."四舍五入"算法 // 1.四舍五入的情况var num = 2.446245;// toFixed() 方法可把 Number 四舍五入为指定小数位数的数字.num = nu ...

  8. java怎么保留一位小数_java四舍五入保留一位小数代码要怎么编写?

    四舍五入函数相信大家都已经了解了,这次我们来看看如何在四舍五入后保留一位小数,下面就来了解下. 例1:方法一: String a = "11.85"; Float b = Floa ...

  9. sql两数相除保留两位小数_sql 除法运算 保留两位小数

    js限制输入数字能输入小数点,js定义数组,js往数组中添加数据,js将字符型转为数字型,除法结果保留两位小数--js小测:计算比赛得分 一个朋友跟我说要去给某个比赛算分: 规则:去掉最低分最高分求平 ...

最新文章

  1. 如何解读和在线绘制进化树?
  2. 【转载】如果你身边有程序员的朋友,请善待他们
  3. 京东css3动画全屏海报_京东超市的文案,写到吃货心坎里了
  4. [PHP] MIME邮件协议的multipart类型
  5. mc服务器怪物掉落修改,【服务端插件】 clear 2.3-清理插件,红石,流水岩浆,动物怪物掉落物,作物自动清理[1.6.2-1.7.2]...
  6. 保存为文件_OC如何保存为带通道易抠图文件?oc如何渲染对象蒙版?
  7. 使用 Calibre Web 搭建私人电子图书馆
  8. 如何解决'chromedriver' executable needs to be in PATH.的问题
  9. maya显示已安装_安装cad2010显示已安装怎么办?峰哥教你怎么解决
  10. 蚂蚁金服是如何提高移动端体验的?
  11. matlab画收敛曲线,3.26 面收敛处理
  12. 学习虚幻4(一)U3D与UE4的比较
  13. 网络诊断显示服务器有问题,Win7系统网络诊断提示DNS服务器未响应怎么解决
  14. 知识图谱入门学习笔记(二)-知识表示
  15. 关于Idea 下载Maven依赖时出现的 “unexpected markup <!d (position: START_DOCUMENT seen \r\n<!d... @2:4) “ 错误.
  16. bilibili用户信息爬虫(全网最全)
  17. 蚌埠医学院有计算机专业吗,安徽蚌埠医学院医学影像学专业
  18. Ubuntu 16.04 配置 B-Human 2016
  19. MIMO OFDM 系统常用信号检测算法
  20. unity 2d 游戏开发教程(2d战棋)

热门文章

  1. 相机内存卡照片删除怎么恢复?小伙伴们看过来!
  2. python flask使用jsonify问题处理
  3. python 函数 日期区间_Python常用函数date_range,如按月区间生成序列
  4. html谷歌浏览器自动播放视频,谷歌浏览器怎么才能绕过视频自动播放的限制呢?大家有没有什么好办法...
  5. 菜鸟的Unity自学日志8 添加第一个敌人—石像鬼
  6. 如何快速建站,有没有好的办法
  7. python实现分数的加减乘除
  8. appium中的TouchAction的常用用法
  9. vmare:桥接模式(设置都正常,但是无法ping通,主机不可达)
  10. 两条命令快速关闭windows 445端口