如何取小数点前两位并四舍五入?
可用该数字构造一java.math.BigDecimal
和java.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 |
如何取小数点前两位并四舍五入?相关推荐
- 取小数点前两位,并四舍五入
ava 取小数点前两位的4种办法 //取小数点的几种办法 class TestDot2 { //方法1 public void test1(double c) { java.text.DecimalF ...
- java保留小数点后面两位(四舍五入)
java保留小数点后面两位(四舍五入)学习记录 三个方法: 1.使用String.format("%.2f",num); //num是要处理的数据 这种方法可以用float ...
- Sql 中取小数点后面两位小数.
select convert(numeric(8,2),round(UnTaxAmount,2))as UnTaxAmount from View_SaleVoice select cast(Un ...
- mysql+取字符串前两位小数_数据库截取字符串前两位小数点
Oracle的函数 函数对字段进行处理: 一.字符函数 lower(char):将字符串转换为小写的格式 upper(char):将字符串转换为大写的格式 length(char):返回字符串的长度 ...
- linux命令取数字前两位,linux中head命令使用详解(显示开头数量的文字块)
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾. 1.命令格式: hea ...
- php 保留小数点两位不四舍五入 bcdiv()
echo bcdiv(2,3,2); 2/3 =0.66- 保留小数点两位 不四舍五入 Output:0.66 echo bcdiv(2,3,3); 2/3 =0.666- 保留小数点三位 不四舍五入 ...
- C#--浮点数取小数点后两位和保留两位
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:浮点数取小数点 ...
- java输出值取后两位小数,java中取小数点后两位(四种步骤)
java中取小数点后两位(四种方法) 一 java.text.DecimalFormat df = new java.text.DecimalFormat("#.##"); dou ...
- PHP 小数点保留两位【转】
最近在做统计这一块内容,接触关于数字的数据比较多, 用到了三个函数来是 数字保留小数后 N 位: 接下来简单的介绍一下三个函数: 1.number_format echo number_format( ...
最新文章
- Extjs4 常用布局总结
- Goldman Sachs 2020校招 Engineer岗
- xss 全编码两次_XSS进阶
- 为zsh和VIM配置一个状态提示栏
- java调用下载窗口_java 从网络Url中下载文件 java调用url接口
- Error parsing HTTP request header Larger错误解决方法
- 深度学习TensorFlow生产环境部署(模型部署篇)
- 好文分享—— RNN基本原理以及基于Pytorch实践
- 关于iOS实现前台,后台,锁屏或关闭app语音播报
- Shiro自定义Token
- 科学计算机的删除键在哪里,电脑删除键是哪个?
- 编译原理实验——递归下降分析法(回溯)
- 粗虚线和细虚线_高速虚线两侧是粗虚线 高速公路虚线两边加斜线什么意思?...
- vue3 权限菜单( 树形菜单)无限循环
- 初中数学计算机图片,初中数学课件背景图片大全.doc
- H5唤醒支付宝登录授权
- 自定义倒计时跳过按钮
- 后缀数组+单调栈+set--bzoj4453: cys就是要拿英魂!
- 【书影观后感 十二】沧浪之水清兮,可以濯我缨 沧浪之水浊兮,可以濯我足
- 计算机网络 - NB-IOT/LoRa/Zigbee 无线组网方案对比
热门文章
- 数据结构与算法:算法简介
- C语言重点——指针篇(一篇让你完全搞懂指针)
- 第四次产业革命将由四个领域引领:大数据、新材料、新能源和生物科技。
- c语言统计最长单词长度,求3个字符串中最长单词的长度 求救 会一个的
- java+long.builder_Java LongStream.Builder accept()用法及代码示例
- java c 序列化_Java 序列化
- 开源Vue表格组件,表格插件源码
- Ubuntu16下安装kaldi(使用物理主机)
- 数据库基准测试:database bencnmark --生成大量随机测试数据
- 单片机8位抢答器实训机电报告_【机电技术应用专业】培育智能制造人才 迈进工科大学殿堂...