java bigdecimal语法_JAVA BigDecimal 小数点处理
语法:// 返回小数点后位数
BigDecimal.setScale();
// setScale len参数指定小数点后位数
BigDecimal.setScale(len);
PS:
setScale(1) 表示保留一位小数,默认用四舍五入方式
setScale(1,BigDecimal.ROUND_DOWN) 直接删除多余的小数位,如4.36会变成4.3
setScale(1,BigDecimal.ROUND_UP) 进位处理,4.36变成4.4
setScale(1,BigDecimal.ROUND_HALF_UP) 四舍五入,4.36变成4.4
setScale(1,BigDecimal.ROUND_HALF_DOWN) 四舍五入末尾大于5向上取舍,小于等于5向下取舍,4.36变成4.4,如果是4.35则向下舍变成4.3
使用:@Test
public void test14() {
BigDecimal price = new BigDecimal(4.35);
// 直接删除多余的小数位,如4.36会变成4.3
System.out.println(price.setScale(1,BigDecimal.ROUND_DOWN));
// 进位处理,4.36变成4.4
System.out.println(price.setScale(1,BigDecimal.ROUND_UP));
// 四舍五入,4.36变成4.4
System.out.println(price.setScale(1,BigDecimal.ROUND_HALF_UP));
// 四舍五入末尾大于5向上取舍,小于等于5向下取舍
System.out.println(price.setScale(1,BigDecimal.ROUND_HALF_DOWN));
//BigDecimal setScale = price.multiply(new BigDecimal(0.9));
}
注意:当setScale(1)只有一个参数时,此处参数为1,如果BigDecimal 小数点后不只一位时会抛出异常 java.lang.ArithmeticException: Rounding necessary ;此时需要指定第二个参数,让程序知道怎么处理多余的位数值。
java bigdecimal语法_JAVA BigDecimal 小数点处理相关推荐
- Java Decimal范围_Java BigDecimal初探
更新时间:2016-03-17 一.引言 <Effactive Java>中有这样的描述:float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为 ...
- java bigdecimal乘法_Java BigDecimal类型的 加减乘除运算
加法:add 减法:subtract 乘法:multiply 除法:divide 可参考下面代码: BigDecimal bignum1 = new BigDecimal("10" ...
- bigdecimal乘法_Java BigDecimal乘法()方法与示例
bigdecimal乘法 BigDecimal类的multiple()方法 (BigDecimal Class multiply() method) Syntax: 句法: public BigDec ...
- java 多线程语法_Java基础语法之多线程学习笔记整理
众所周知,利用好多线程机制,可以大大提高系统整体的并发能力以及性能,而且线程间的切换和调度的成本小.因此,多线程是Java学习者必须掌握的语法重点.本文为大家整理了进程和线程.实现多线程方式.设置和获 ...
- java bigdecimal 开方_JAVA BigDecimal使用牛顿迭代法计算平方根(开方)
Java中虽然可以用Math.sqrt获得某值的平方根,但是该值必须是double类型的.可是有些项目对数值精度要求比较高,我们一般会用BigDecimal来存储,BigDecimal并不提供计算平方 ...
- java自学语法_java 基础语法学习
注释 单行注释 多行注释 文档注释 public class HelloWorld { public static void main(String[] args) { //单行注释 //输出一个He ...
- java自学语法_Java自学笔记(一):基础知识
目录 第一个Java程序 public class HelloWorld { //类名必须与文件名相同 public static void main(String[] args) { System. ...
- Java 接口语法_JAVA接口的基本语法
一.接口的概念 在之前学习了抽象类,其中抽象类的抽象方法定义了标准,具体的方法实现交给子类完成,之后再结合多态的特征在一定程度上解决代码的耦合(上节课的参数统一),这需要在继承关系中实现,但是继承存在 ...
- java 正则表达式语法_Java 正则表达式基础语法
基础符号 首尾匹配^:匹配输入字符串开始的位置 $:匹配输入字符串结尾的位置 例:"^hello$"含义为该字符串开头必须为h,结尾必须为oprivate static void ...
最新文章
- python实现表格_零基础小白怎么用Python做表格?
- new、delete、malloc、free 在堆栈上的使用区别 C++
- 怎么解决线上CPU100%的问题
- php网站不能访问,php怎么不登录不能访问
- 华为云FusionInsight MRS:千余节点滚动升级业务无中断
- Tomcat启动log:SLF4J: Class path contains multiple SLF4J bindings.
- qt creator纯C或C++项目在windows下的命令行中文乱码解决
- Wacom 驱动安装 或者 失败重装
- coreldraw x4如何出血_CorelDRAW X4常用快捷键大全,详细始末
- [详细]分享验证码接收平台工作原理
- 刚刚!百度副总裁被抓!
- 中国电影|嘉宝盘点近几年国内票房突破30亿的影片
- 【python实例】判断是否为酒后驾车
- 如何把catia完全卸载干净_catia软件卸载不了怎么办
- bc vc投资_【融资系列】 VC投资中的常见分期追加投资
- 【渝粤题库】广东开放大学 电子商务技术导论 形成性考核 -
- 计算机网络—网关介绍
- 22-JavaScript 冒泡事件、事件捕获、默认事件、事件委托 DAY18(5.5)
- 华为云配置nodejs环境
- 推荐系统模型论文阅读笔记
热门文章
- The way of Webpack learning (II.) -- Extract common code(多页面提取公共代码)
- 全网最全的Windows下Anaconda2 / Anaconda3里正确下载安装用来定时任务apscheduler库(图文详解)...
- PHP+Redis 实例【一】点赞 + 热度 下篇
- 如何在ubuntu中安装mysql与mysql workbench
- Cache模拟器(CacheSim)
- Android Contextual Menus之二:contextual action mode
- 云中家园FTP搜索站点开通
- 马走日poj java超时_简单搜索poj 2243(水
- oracle 触发器 upsert,数据库管理员
- 可以看到对方是否打开_打开手机实景地图,连你家门口都可以清晰看到,方便又好用...