可用该数字构造一java.math.BigDecimaljava.text.DecimalFormat,再设置舍入模式进行四舍五入到保留小数点后两位。
BigDecimal

Immutable, arbitrary-precision signed decimal numbers
不可变的任意精度的十进制数

DecimalFormat

DecimalFormat is a concrete subclass of NumberFormat that formats decimal numbers.
DecimalFormat是NumberFormat的具体子类,用于格式化十进制数。

来看具体代码

@Testpublic void Test2() {double a = 21.2464;DecimalFormat df = new DecimalFormat("#.00");//保留两位小数df.setRoundingMode(RoundingMode.HALF_UP);//设置四舍五入模式double parseDouble = Double.parseDouble(df.format(a));System.out.println(parseDouble);
// ---------------------------------------------------------------------------BigDecimal bd =new BigDecimal(a);// double bigDecimal =bd.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();/*** BigDecimal.ROUND_HALF_UP 已被弃用* 请改用RoundingMode.HALF_UP */double bigDecimal = bd.setScale(2, RoundingMode.HALF_UP).doubleValue();System.out.println(bigDecimal);}

舍入模式

模式 含义 解释
ROUND_UP 向远离零的方向舍入 若舍入位为非零,则对舍入部分的前一位数字加1;若舍入位为零,则直接舍弃。即为向外取整模式
ROUND_DOWN 向接近零的方向舍入 不论舍入位是否为零,都直接舍弃。即为向内取整模式
ROUND_CEILING 向正无穷大的方向舍入 若 BigDecimal 为正,则舍入行为与 ROUND_UP 相同;若为负,则舍入行为与 ROUND_DOWN 相同。即为向上取整模式
ROUND_FLOOR 向负无穷大的方向舍入 若 BigDecimal 为正,则舍入行为与 ROUND_DOWN 相同;若为负,则舍入行为与 ROUND_UP 相同。即为向下取整模式
ROUND_HALF_UP 向“最接近的”整数舍入 若舍入位大于等于5,则对舍入部分的前一位数字加1;若舍入位小于5,则直接舍弃。即为四舍五入模式
ROUND_HALF_DOWN 向“最接近的”整数舍入 若舍入位大于5,则对舍入部分的前一位数字加1;若舍入位小于等于5,则直接舍弃。即为五舍六入模式
ROUND_HALF_EVEN 向“最接近的”整数舍入 若(舍入位大于5)或者(舍入位等于5且前一位为奇数),则对舍入部分的前一位数字加1;若(舍入位小于5)或者(舍入位等于5且前一位为偶数),则直接舍弃。即为银行家舍入模式
ROUND_UNNECESSARY 断言请求的操作具有精确的结果,因此不需要舍入。 如果对获得精确结果的操作指定此舍入模式,则抛出ArithmeticException

如何取小数点前两位并四舍五入?相关推荐

  1. 取小数点前两位,并四舍五入

    ava 取小数点前两位的4种办法 //取小数点的几种办法 class TestDot2 { //方法1 public void test1(double c) { java.text.DecimalF ...

  2. java保留小数点后面两位(四舍五入)

    java保留小数点后面两位(四舍五入)学习记录 三个方法: 1.使用String.format("%.2f",num);     //num是要处理的数据 这种方法可以用float ...

  3. Sql 中取小数点后面两位小数.

    select convert(numeric(8,2),round(UnTaxAmount,2))as UnTaxAmount from View_SaleVoice select   cast(Un ...

  4. mysql+取字符串前两位小数_数据库截取字符串前两位小数点

    Oracle的函数 函数对字段进行处理: 一.字符函数 lower(char):将字符串转换为小写的格式 upper(char):将字符串转换为大写的格式 length(char):返回字符串的长度 ...

  5. linux命令取数字前两位,linux中head命令使用详解(显示开头数量的文字块)

    head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾. 1.命令格式: hea ...

  6. php 保留小数点两位不四舍五入 bcdiv()

    echo bcdiv(2,3,2); 2/3 =0.66- 保留小数点两位 不四舍五入 Output:0.66 echo bcdiv(2,3,3); 2/3 =0.666- 保留小数点三位 不四舍五入 ...

  7. C#--浮点数取小数点后两位和保留两位

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:浮点数取小数点 ...

  8. java输出值取后两位小数,java中取小数点后两位(四种步骤)

    java中取小数点后两位(四种方法) 一 java.text.DecimalFormat df = new java.text.DecimalFormat("#.##"); dou ...

  9. PHP 小数点保留两位【转】

    最近在做统计这一块内容,接触关于数字的数据比较多, 用到了三个函数来是 数字保留小数后 N 位: 接下来简单的介绍一下三个函数: 1.number_format echo number_format( ...

最新文章

  1. Extjs4 常用布局总结
  2. Goldman Sachs 2020校招 Engineer岗
  3. xss 全编码两次_XSS进阶
  4. 为zsh和VIM配置一个状态提示栏
  5. java调用下载窗口_java 从网络Url中下载文件 java调用url接口
  6. Error parsing HTTP request header Larger错误解决方法
  7. 深度学习TensorFlow生产环境部署(模型部署篇)
  8. 好文分享—— RNN基本原理以及基于Pytorch实践
  9. 关于iOS实现前台,后台,锁屏或关闭app语音播报
  10. Shiro自定义Token
  11. 科学计算机的删除键在哪里,电脑删除键是哪个?
  12. 编译原理实验——递归下降分析法(回溯)
  13. 粗虚线和细虚线_高速虚线两侧是粗虚线 高速公路虚线两边加斜线什么意思?...
  14. vue3 权限菜单( 树形菜单)无限循环
  15. 初中数学计算机图片,初中数学课件背景图片大全.doc
  16. H5唤醒支付宝登录授权
  17. 自定义倒计时跳过按钮
  18. 后缀数组+单调栈+set--bzoj4453: cys就是要拿英魂!
  19. 【书影观后感 十二】沧浪之水清兮,可以濯我缨 沧浪之水浊兮,可以濯我足
  20. 计算机网络 - NB-IOT/LoRa/Zigbee 无线组网方案对比

热门文章

  1. 数据结构与算法:算法简介
  2. C语言重点——指针篇(一篇让你完全搞懂指针)
  3. 第四次产业革命将由四个领域引领:大数据、新材料、新能源和生物科技。
  4. c语言统计最长单词长度,求3个字符串中最长单词的长度 求救 会一个的
  5. java+long.builder_Java LongStream.Builder accept()用法及代码示例
  6. java c 序列化_Java 序列化
  7. 开源Vue表格组件,表格插件源码
  8. Ubuntu16下安装kaldi(使用物理主机)
  9. 数据库基准测试:database bencnmark --生成大量随机测试数据
  10. 单片机8位抢答器实训机电报告_【机电技术应用专业】培育智能制造人才 迈进工科大学殿堂...