语法:// 返回小数点后位数

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 小数点处理相关推荐

  1. Java Decimal范围_Java BigDecimal初探

    更新时间:2016-03-17 一.引言 <Effactive Java>中有这样的描述:float和double类型的主要设计目标是为了科学计算和工程计算.他们执行二进制浮点运算,这是为 ...

  2. java bigdecimal乘法_Java BigDecimal类型的 加减乘除运算

    加法:add 减法:subtract 乘法:multiply 除法:divide 可参考下面代码: BigDecimal bignum1 = new BigDecimal("10" ...

  3. bigdecimal乘法_Java BigDecimal乘法()方法与示例

    bigdecimal乘法 BigDecimal类的multiple()方法 (BigDecimal Class multiply() method) Syntax: 句法: public BigDec ...

  4. java 多线程语法_Java基础语法之多线程学习笔记整理

    众所周知,利用好多线程机制,可以大大提高系统整体的并发能力以及性能,而且线程间的切换和调度的成本小.因此,多线程是Java学习者必须掌握的语法重点.本文为大家整理了进程和线程.实现多线程方式.设置和获 ...

  5. java bigdecimal 开方_JAVA BigDecimal使用牛顿迭代法计算平方根(开方)

    Java中虽然可以用Math.sqrt获得某值的平方根,但是该值必须是double类型的.可是有些项目对数值精度要求比较高,我们一般会用BigDecimal来存储,BigDecimal并不提供计算平方 ...

  6. java自学语法_java 基础语法学习

    注释 单行注释 多行注释 文档注释 public class HelloWorld { public static void main(String[] args) { //单行注释 //输出一个He ...

  7. java自学语法_Java自学笔记(一):基础知识

    目录 第一个Java程序 public class HelloWorld { //类名必须与文件名相同 public static void main(String[] args) { System. ...

  8. Java 接口语法_JAVA接口的基本语法

    一.接口的概念 在之前学习了抽象类,其中抽象类的抽象方法定义了标准,具体的方法实现交给子类完成,之后再结合多态的特征在一定程度上解决代码的耦合(上节课的参数统一),这需要在继承关系中实现,但是继承存在 ...

  9. java 正则表达式语法_Java 正则表达式基础语法

    基础符号 首尾匹配^:匹配输入字符串开始的位置 $:匹配输入字符串结尾的位置 例:"^hello$"含义为该字符串开头必须为h,结尾必须为oprivate static void ...

最新文章

  1. python实现表格_零基础小白怎么用Python做表格?
  2. new、delete、malloc、free 在堆栈上的使用区别 C++
  3. 怎么解决线上CPU100%的问题
  4. php网站不能访问,php怎么不登录不能访问
  5. 华为云FusionInsight MRS:千余节点滚动升级业务无中断
  6. Tomcat启动log:SLF4J: Class path contains multiple SLF4J bindings.
  7. qt creator纯C或C++项目在windows下的命令行中文乱码解决
  8. Wacom 驱动安装 或者 失败重装
  9. coreldraw x4如何出血_CorelDRAW X4常用快捷键大全,详细始末
  10. [详细]分享验证码接收平台工作原理
  11. 刚刚!百度副总裁被抓!
  12. 中国电影|嘉宝盘点近几年国内票房突破30亿的影片
  13. 【python实例】判断是否为酒后驾车
  14. 如何把catia完全卸载干净_catia软件卸载不了怎么办
  15. bc vc投资_【融资系列】 VC投资中的常见分期追加投资
  16. 【渝粤题库】广东开放大学 电子商务技术导论 形成性考核 -
  17. 计算机网络—网关介绍
  18. 22-JavaScript 冒泡事件、事件捕获、默认事件、事件委托 DAY18(5.5)
  19. 华为云配置nodejs环境
  20. 推荐系统模型论文阅读笔记

热门文章

  1. The way of Webpack learning (II.) -- Extract common code(多页面提取公共代码)
  2. 全网最全的Windows下Anaconda2 / Anaconda3里正确下载安装用来定时任务apscheduler库(图文详解)...
  3. PHP+Redis 实例【一】点赞 + 热度 下篇
  4. 如何在ubuntu中安装mysql与mysql workbench
  5. Cache模拟器(CacheSim)
  6. Android Contextual Menus之二:contextual action mode
  7. 云中家园FTP搜索站点开通
  8. 马走日poj java超时_简单搜索poj 2243(水
  9. oracle 触发器 upsert,数据库管理员
  10. 可以看到对方是否打开_打开手机实景地图,连你家门口都可以清晰看到,方便又好用...