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)
上一篇 2022年10月20日 下午12:36
下一篇 2022年10月20日 下午12:36


相关推荐

  • 启动Redis报错:Could not create Server TCP listening socket *:6379: bind: Address already in use–解决办法

    启动Redis报错:Could not create Server TCP listening socket *:6379: bind: Address already in use–解决办法最后一句提示:6379地址已经在使用(6379是redis默认的端口)如图我自己输入指令./redis-server显示Redis已经开启服务1)正常解决方法三部①通过指令找到redis进程,查看所有关于它的进程详情。ps-ef|grefredisroot308610Apr24?00:00:07./bin/redis-…

    2022年6月7日
    53
  • 超详细pycharm安装教程

    超详细pycharm安装教程超详细pycharm安装教程第一步:双击运行pycharm安装程序更改安装路径第二步:全都不用勾选第三步:点击install第四步:出现如下界面表示正在安装第五步:勾选RunPycharm然后点击Finish第六步:第七步:点击右下角Next…第八步:点击右下角StartUsingPyCharm第九步:点击Evaluate试用第十步:点击Evaluate第十一步:点击+(加号)CreateNewProject第十二步:点击location

    2022年8月25日
    9
  • JavaScript之数组的详细介绍

    JavaScript之数组的详细介绍每一门编程语言 都有数组或类似数组的结构 同样的 JavaScript 虽然是脚本语言 也不例外 学习 JavaScript 的数组 我们从新建第一个数组开始 JavaScript 中的数组 长度是动态可变的 如果学过其他编程语言的朋友可能对这一点不是很习惯 但事实上反而使得问题变得简单了 因此不需要再定义数组的时候就指定它的大小

    2026年3月19日
    1
  • DrawerLayout详解「建议收藏」

    DrawerLayout详解「建议收藏」drawerLayout是SupportLibrary包中实现了侧滑菜单效果的控件,可以说drawerLayout是因为第三方控件如MenuDrawer等的出现之后,google借鉴而出现的产物。drawerLayout分为侧边菜单和主内容区两部分,侧边菜单可以根据手势展开与隐藏(drawerLayout自身特性),主内容区的内容可以随着菜单的点击而变化(这需要使用者自己实现)。

    2022年6月16日
    33
  • 最新版pycharm的 manage repositories 设置在哪里?

    最新版pycharm的 manage repositories 设置在哪里?pycharm

    2026年3月27日
    2
  • JAVA SpringBoot整合并操作ES(ElasticSearch)数据

    JAVA SpringBoot整合并操作ES(ElasticSearch)数据

    2026年3月15日
    4

发表回复

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

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