Bigdecimal基本运算及小数保留方式枚举
Bigdecimal基本运算及小数保留方式枚举
1.Bigdecimal运算
final BigDecimal a = new BigDecimal("2.99");
final BigDecimal b = BigDecimal.valueOf(0.49);
//a+b
final BigDecimal add = a.add(b);
//a-b
final BigDecimal subtract = a.subtract(b);
//a*b
final BigDecimal multiply = a.multiply(b);
//a/b 保留4位小数 四舍五入
final BigDecimal divide = a.divide(b,4,BigDecimal.ROUND_HALF_EVEN);
System.out.println("a+b= "+add); //输出 3.48
System.out.println("a-b= "+subtract); //输出 2.50
System.out.println("a*b= "+multiply); //输出 1.4651
System.out.println("a/b= "+divide); //输出 6.1020
2.Bigdecimal小数保留方式
final BigDecimal a = new BigDecimal("1.5");
//进 结果:2
System.out.println(a.setScale(0,BigDecimal.ROUND_UP));
//舍 结果:1
System.out.println(a.setScale(0,BigDecimal.ROUND_DOWN));
//向下取整 结果:1
System.out.println(a.setScale(0,BigDecimal.ROUND_FLOOR));
//向上取整 结果:2
System.out.println(a.setScale(0,BigDecimal.ROUND_CEILING));
//四舍五入 结果:2
System.out.println(a.setScale(0,BigDecimal.ROUND_HALF_UP));
//五舍六入 结果:1
System.out.println(a.setScale(0,BigDecimal.ROUND_HALF_DOWN));
//银行家舍入 四舍六入五考虑
// A =>五后无数字进1
// B => 五后有数字
// B1 => 五后非零就进一,
// B2 => 五后为零看五前奇偶,偶舍,奇进
System.out.println(BigDecimal.valueOf(1.5).setScale(0,BigDecimal.ROUND_HALF_EVEN)); //2
System.out.println(BigDecimal.valueOf(1.51).setScale(0,BigDecimal.ROUND_HALF_EVEN)); //2
System.out.println(BigDecimal.valueOf(1.59).setScale(0,BigDecimal.ROUND_HALF_EVEN)); //2
System.out.println(BigDecimal.valueOf(1.50).setScale(0,BigDecimal.ROUND_HALF_EVEN)); //2
System.out.println(BigDecimal.valueOf(2.50).setScale(0,BigDecimal.ROUND_HALF_EVEN)); //2
注:使用参数为float或double的BigDecimal创建对象会丢失精度。建议不要使用参数为float或double的BigDecimal创建对象。而是采用string字符串来创建对象
Bigdecimal基本运算及小数保留方式枚举相关推荐
- java中小数的处理:高精度运算用bigDecimal类,精度保留方法,即舍入方式的指定
java中小数的处理:高精度运算用bigDecimal类,精度保留方法,即舍入方式的指定 2016年05月11日 11:20:08 阅读数:6336 一. 计算机的小数计算一定范围内精确,超过范围只能 ...
- 【SpringBoot】通过自定义注解对BigDecimal输出的小数位数进行格式化
文章目录 前言 一.JsonSerializer 二.ContextualSerializer 三.实现 1.继承JsonSerializer类,实现ContextualSerializer接口 2. ...
- mysql 格式化 小数点后两位_MYSQL数据库mysql格式化小数保留小数点后两位(小数点格式化)...
<MYSQL数据库mysql格式化小数保留小数点后两位(小数点格式化)>要点: 本文介绍了MYSQL数据库mysql格式化小数保留小数点后两位(小数点格式化),希望对您有用.如果有疑问,可 ...
- C语言实现分数转化为小数(保留三位小数)
C语言实现分数转化为小数(保留三位小数) 第一次写博客,不知道具体如何操作. 直接奉上代码吧,以后有好的算法再分享. #include<stdio.h>int main(){ int a, ...
- 全网最全的BigDecimal的newScale(保留小数位)和roundingMode(舍入模式),详细介绍roundingMode(重点)
一般我们要对一个BigDecimal的数字进行保留小数位和设置舍入模式的时候,都是这样使用的: 对于加.减.乘得到的数字,直接使用BigDecimal对象.setScale,就像这样: 或者除法,在做 ...
- BigDecimal 两束运算 保留两位小数
package com.example.bwjf.demo.util; import java.math.BigDecimal; public class NuberUtil { /***@descr ...
- mysql查询结果单位换算后小数位数的保留方式
1.调用mysql自带的格式化小数函数format(x,d) 例如: [html] view plaincopy select format(23456.789,2); [html] view p ...
- BigDecimal参数8种舍入方式
1.ROUND_UP 舍入远离零的舍入模式. 在丢弃非零部分之前始终增加数字(始终对非零舍弃部分前面的数字加1). 注意,此舍入模式始终不会减少计算值的大小. 2.ROUND_DOWN 接近零的舍入模 ...
- MySql 查询小数保留两位小数
问题 :有一张表 table_a ,它有字段 c_1,c_2 都是数字类型的,现在想求一行中 c_2 字段占 c_1 字段的百分比,要求小数点后保留两位 SELECT FORMAT((a.c_2/a. ...
最新文章
- Bucking the stigma (留学生请摘掉有色眼镜看社区大学)
- 家用计算机内存最大是多少,电脑支持最大内存是多少?选用多大内存才合理?方法技巧要知道...
- 请概述可视化卷积神经网络的中间输出的基本思想。_卷积神经网络为什么能称霸计算机视觉领域?...
- word关闭未响应_大众途观全景天窗遮阳卷帘无法关闭
- Wireshark的https代理抓包(whistle中间人代理)
- boost实用工具:创建一个禁止复制的类 noncopyable
- 【Auto.js】[zip压缩] 将文件夹压缩成zip包
- 学习笔记68—PhotoShop常见快捷键
- Xtrabackup的“流”及“备份压缩”功能
- 单机rust怎么设置白天_工业除尘器不会选 看看粉尘治理设备生产厂家怎么说
- SpringBoot之使用(一)
- 论文阅读笔记:《Contextual String Embeddings for Sequence Labeling》
- 拓端tecdat|Python用GARCH、离散随机波动率模型DSV模拟和估计股票收益时间序列与蒙特卡洛可视化
- PostgreSQL 为什么不要滥用unlogged table hash index
- 《白帽子讲Web安全》| 学习笔记之访问控制
- 中国计算机省份排名,2019中国省份经济排行_中国各省份经济排名
- CAD命令输入、结束、重复、撤销
- AD18 如何生成装配图
- 记录Request + BeautifulSoup爬取中国现代诗歌大全网站上的4000+现代诗的过程
- 《人生要耐得住寂寞》
热门文章
- python中lowerright_python字符串,从入门到高阶看这篇就够了
- 2g 双核电脑 linux,9208)(奔腾双核E5200/2G/320G)电脑详细技术
- Kerberos 下运行spark 报错 Requested user hdfs is not whitelisted and has id 995,which is below the minimu
- 周志明:职业电竞选手的Java大神路
- 如何带领团队“攻城略地”?优秀的架构师这样做
- 阿里开发者招聘节 | 面试题02-04:给定一个二叉搜索树(BST),找到树中第K小的节点
- 信用算力基于 RocketMQ 实现金融级数据服务的实践
- 如何利用 Webshell 诊断 EDAS Serverless 应用
- 十余位权威专家深度解读,达摩院2019十大科技趋势点燃科技热情
- 浪潮云发布全新“1231”业务战略,打造“一朵分布式云”