BigDecimal.setScale()方法实用技巧

BigDecimal.setScale()方法实用技巧方法使用scale()方法用于格式化小数点setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3setScale(1,BigDecimal.ROUND_UP)进位处理(无论小数如何),2.35变成2.4setScale(1,BigDecimal.ROUND_HALF_UP)四舍五入,2.35变成2.4(目前最常用的金额处理方法…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

方法使用

scale() 方法用于格式化小数点
setScale(1,BigDecimal.ROUND_DOWN) 直接删除多余的小数位,如2.35会变成2.3
setScale(1,BigDecimal.ROUND_UP) 进位处理(无论小数如何),2.35变成2.4
setScale(1,BigDecimal.ROUND_HALF_UP) 四舍五入,2.35变成2.4(目前最常用的金额处理方法
setScaler(1,BigDecimal.ROUND_HALF_DOWN) 四舍五入,2.35变成2.3,如果是5则向下舍(6及以上则向上入)

代码示例

import java.math.BigDecimal;

/** * @author yanghao * @version SetScale.java, v 0.1 2019-12-24 19:56 */
public class SetScale { 
   

    public static void main(String[] args){ 
   

        BigDecimal money = new BigDecimal("2.35");

        //格式化小数点
        System.out.println("scale == " + money.scale());

        //直接删除多余的小数位,如2.35会变成2.3
        System.out.println("ROUND_DOWN == " + money.setScale(1, BigDecimal.ROUND_DOWN));

        //进位处理(无论小数如何),2.35变成2.4
        System.out.println("ROUND_UP == " + money.setScale(1, BigDecimal.ROUND_UP));

        //四舍五入,2.35变成2.4(目前最常用的金额处理方法)
        System.out.println("ROUND_HALF_UP == " + money.setScale(1, BigDecimal.ROUND_HALF_UP));

        //四舍五入,2.35变成2.3,如果是5则向下舍(6及以上则向上入)
        System.out.println("ROUND_HALF_DOWN == " + money.setScale(1, BigDecimal.ROUND_HALF_DOWN));

    }

}

运行结果

scale == 2
ROUND_DOWN == 2.3
ROUND_UP == 2.4
ROUND_HALF_UP == 2.4
ROUND_HALF_DOWN == 2.3
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179932.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 《图解HTTP》读书笔记建议收藏

    《图解HTTP》对HTTP协议进行了全面系统的介绍。作者由HTTP协议的发展历史娓娓道来,严谨细致地剖析了HTTP协议的结构,列举诸多常见通信场景及实战案例,最后延伸到Web安全、最新技术动向等方面。

    2021年12月18日
    57
  • java 写入properties文件_Java读写Properties配置文件

    java 写入properties文件_Java读写Properties配置文件Java 读写 Properties 配置文件 1 Properties 类与 Properties 配置文件 Properties 类继承自 Hashtable 类并且实现了 Map 接口 也是使用一种键值对的形式来保存属性集 不过 Properties 有特殊的地方 就是它的键和值都是字符串类型 2 Properties 中的主要方法 1 load InputStreami 这个方法可以从 properti

    2025年9月30日
    2
  • SQL2005关于quotename的用法(转)[通俗易懂]

    SQL2005关于quotename的用法(转)[通俗易懂]首先,sqlserver里的标识符有一定的规则,比如 你createtableabc123(…)那么中间含有空格,它不是符合规则的。你会写做createtable[abc123](….)即以[]来定界标识符。quotename将字串成为有效的标识符。它有什么用呢?我举个例子:你有个表名字叫做aa[]bb当

    2022年7月25日
    10
  • 关于JavaScript闭包理解

    关于JavaScript闭包理解js 的作用域分两种 和 基于所熟悉的作用域链相关知识 知道在 js 作用域环境中访问变量的权利是的 内部作用域可以获得当前作用域下的变量并且可以获得当前包含当前作用域的外层作用域下的变量 反之则不能 也就是说在外层作用域下无法获取内层作用域下的变量 同样在不同的函数作用域中也是不能相互访问彼此变量的 那么想在一个函数内部也有限权访问另一个函数内部的变量该怎么办呢 闭包就是用来解决这一需求的 我们首先知道闭包有 3 个特性 函数嵌套函数 函数内部可以引用函数外部的参数和变量 参数和变量不会被垃圾回收机制回

    2025年9月16日
    2
  • PHP 的解压缩ZipArchive中的extractTo()方法 LINUX+nginx环境中解压zip时文件丢失的问题

    PHP 的解压缩ZipArchive中的extractTo()方法 LINUX+nginx环境中解压zip时文件丢失的问题

    2021年12月15日
    49
  • H5面试题—new操作符具体干了什么呢[通俗易懂]

    H5面试题—new操作符具体干了什么呢

    2022年3月8日
    329

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号