1、最简单的操作,验证之后是准确的四舍五入

double payPercent=123.345;

System.out.println((double)Math.round(payPercent*100)/100);

输出结果:123.35

2、使用BigDecimal

1、 ROUND_UP:远离零方向舍入。向绝对值最大的方向舍入,只要舍弃位非0即进位。(备注:就是只要第三位不是0,都往前进1。如1.121,输出会是1.13)

double payPercent=123.343;

BigDecimal bg= new BigDecimal(payPercent).setScale(2, RoundingMode.UP);

System.out.println(bg.doubleValue());

输出结果123.35

2、 ROUND_DOWN:趋向零方向舍入。向绝对值最小的方向输入,所有的位都要舍弃,不存在进位情况。

double payPercent=123.349;

BigDecimal bg= new BigDecimal(payPercent).setScale(2, RoundingMode.DOWN);

System.out.println(bg.doubleValue());

输出结果123.34

3、 ROUND_CEILING:向正无穷方向舍入。向正最大方向靠拢。若是正数,舍入行为类似于ROUND_UP,若为负数,舍入行为类似于ROUND_DOWN。Math.round()方法就是使用的此模式。(没测试)

4、 ROUND_FLOOR:向负无穷方向舍入。向负无穷方向靠拢。若是正数,舍入行为类似于ROUND_DOWN;若为负数,舍入行为类似于ROUND_UP。(没测试)

5、 HALF_UP:最近数字舍入(5进)。这是我们最经典的四舍五入。-----备注:都说这里是四舍五入,程序里的例子也是如此,但是经过测试,实际上是五舍六入

double payPercent=123.345;

BigDecimal bg= new BigDecimal(payPercent).setScale(2, RoundingMode.HALF_UP);

System.out.println(bg.doubleValue());

输出结果是123.34

后来经过查找资料,有人说

double payPercent=123.345;

BigDecimal bg= new BigDecimal(String.valueOf(payPercent)).setScale(2, RoundingMode.HALF_UP);

System.out.println(bg.doubleValue());

输出结果是123.35-----正确的四舍五入处理

6、 HALF_DOWN:最近数字舍入(5舍)。在这里5是要舍弃的。---即使按照上一步修改设置,也是会在5的时候舍去

7、 HAIL_EVEN:银行家舍入法。--(测试了下,好像5也是舍去的,具体不太清楚)

3、其他操作

double payPercent=123.345;

NumberFormat nf=NumberFormat.getNumberInstance();//保留两位小数

nf.setMaximumFractionDigits(2);

nf.setRoundingMode(RoundingMode.HALF_UP);

System.out.println(nf.format(payPercent));

DecimalFormat df= new DecimalFormat("#.00");

System.out.println(df.format(payPercent));

输出结果:123.34

java 两位小数 四舍五入_java里的四舍五入(保留两位小数,返回double类型)相关推荐

  1. java 返回值判断_在Java中判断方法重载的条件除了参数外,还可以通过返回值类型判断。_学小易找答案...

    [单选题]若int x;且有下面的程序片断,则输出结果是() . for (x=3; x<6; x++) { printf((x%2) ? "##%d" : "** ...

  2. php保留两位小数,四舍五入和有小数就进1(可保留两位小数)

    1.直接就向上进1,保留两位小数 ceil(10.521 * 100)/100; 结果10.53: ceil函数就是取整有小数就进12.四舍五入 echo round(5.211, 2); //5.2 ...

  3. java 计算百分比_java前后台计算百分比(保留2位小数)

    1.后台计算百分比: **方法一: public String getPercent(Integer num,Integer totalPeople ){ String percent ; Doubl ...

  4. php数字两位小数_PHP数字价格格式化,保留两位小数

    jQuery EasyUI/TopJUI基本的数字输入框(保留两位小数,带前缀后缀...) jQuery EasyUI/TopJUI基本的数字输入框(保留两位小数,带前缀后缀...) numberbo ...

  5. java 整数相除 小数点_java整数相除保留小数

    c语言程序:输入两个整数m和n,及另一正整数k,计算m/n,结果精确到小数点后k位界面友好,功能完善 题目:输入两个整数 m 和 n,及另一正整数 k,计算 m/n,...... 可以指定显示的最多( ...

  6. vue 保留三位小数_vue input框type=number 保留两位小数自定义组件

    第一步:自定义组件MyNumberInput.vue export default { props: { point: { default: 0 }, max: Number, placeholder ...

  7. python中保留两位小数的编写程序_Python中保留两位小数的几种方法

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

  8. php保留两位小叔_PHP价格格式化,保留两位小数

    将价格保留两位小数比如12元需要表示为¥12.00,这时就需要使用number_format函数,使用方法为number_format(12,2),如果需要四舍五入,可以使用round函数配合. nu ...

  9. JS小数运算的正确姿势:保留两位小数技巧全解析

    前言 当你在开发网页或者移动应用时,你可能会遇到需要对数字进行精确处理的情况,比如需要将一个数字保留两位小数.而 JavaScript 作为一种广泛使用的编程语言,也提供了多种方法来实现这一功能.本文 ...

最新文章

  1. 最爱莫乎生命,其次是“你”
  2. 使用lua实现一个简单的事件派发器
  3. STM32 C/C++ uCOSII 函数调用return 无法返回或者函数无法正常反回上一层函数的问题
  4. 3.1 采购管理规划
  5. Android NDK之静态/动态注册Native方法
  6. springcloud 分布式配置中心 config server config client
  7. uploadify 3.1 /3.2 在Firefox,Chrome 浏览器下,进入页面请求两次问题解决办法。
  8. 14AMESIM安装教程
  9. Spark versus Flink: Understanding Performance in Big Data Analytics Frameworks论文总结
  10. HAL库的学习 ——FLASH的使用
  11. 那些活在浪里的创业者最终被拍成了电影
  12. 什么是cert文件?
  13. 2021年制冷与空调设备运行操作考试题及制冷与空调设备运行操作证考试
  14. 2019年互联网公司月饼颜值大比拼!
  15. 债务大爆发,中国30%家庭不堪一击!
  16. 算法设计与分析第三章作业
  17. 实验7-4 身份证号码最后一位
  18. 今天给没用过Git的新人简单培训了一下
  19. loadrunner12-错误 -26366: 找不到 web_reg_find 的“Text=19728.00”
  20. dreamweaver cs5.5 绿色 下载 dw cs 5.5 绿色版下载

热门文章

  1. java基本命令_java基础篇 快捷键 常见Dos命令等等
  2. HuggingFace学习3:加载预训练模型完成机器翻译(中译英)任务
  3. centos7 安装/卸载 任意版本的mariadb(mysql)
  4. mysql backupadmin_如何使用 MySQL Administrator 管理/备份/还原 My SQL 数据库
  5. 磁盘位置_Win10创建和附加虚拟硬盘|Win10怎么创建VHD虚拟磁盘
  6. jedis连接池详解(Redis)
  7. JS 动态显示 获取下拉框的多个值
  8. js设置时间在ie中部兼容总是NAN的问题
  9. 旧文重发:程序员的七种武器
  10. 龙芯笔记本可能以闹剧收场