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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • xgboost入门与实战(原理篇)

    xgboost入门与实战(原理篇)xgboost入门与实战(原理篇)前言:xgboost是大规模并行boostedtree的工具,它是目前最快最好的开源boostedtree工具包,比常见的工具包快10倍以上。在数据科学方面,有大量kaggle选手选用它进行数据挖掘比赛,其中包括两个以上kaggle比赛的夺冠方案。在工业界规模方面,xgboost的分布式版本有广泛的可移植性,支持在YARN,MPI,SungridEn

  • 使用 PyCharm 远程调试 Django 程序「建议收藏」

    使用 PyCharm 远程调试 Django 程序「建议收藏」这阵子组内流行使用Django写管理端程序。大家习惯了在Windows上使用PyCharm等IDE快速方便地进行开发,但是由于管理端使用了一些公司的公共组件,而这些组件又只提供了Linux上的Python接口,因此必须在Linux上运行Django程序。值得庆幸的是,大多数的IDE都提供了远程调试功能,PyCharm也可以经过简单配置进行远程调试。场

  • 修改密码passwd鉴定令牌操作错误_命令行修改用户密码

    修改密码passwd鉴定令牌操作错误_命令行修改用户密码修改Linux下一个用户的密码,输入passwdfmuser,提示鉴定令牌操作错误:查看/etc/group/etc/passwd/etc/shadow文件权限输入:lsattr/etc/group/etc/passwd/etc/shadow设置i权限:chattr-i/etc/group/etc/passwd/etc/shadow然后再次查…

  • python和C语言的差别

    python和C语言的差别之前在公司一直做的是C语言的开发,然后做的都是业务方面的东西,做的是sdk,因为最近在找工作,然后今天面试的时候被问到C语言和Python的区别,自己只是简单的说了C是静态语言,在变量在使用前进行声明

  • CreatePipe匿名管道通信

    CreatePipe匿名管道通信管道(Pipe)实际是用于进程间通信的一段共享内存,创建管道的进程称为管道服务器,连接到一个管道的进程为管道客户机。一个进程在向管道写入数据后,另一进程就可以从管道的另一端将其读取出来。匿名管道(AnonymousPipes)是在父进程和子进程间单向传输数据的一种未命名的管道,只能在本地计算机中使用,而不可用于网络间的通信。      匿名管道实施细则      匿名管道由Cre

  • Gson将map转换成JsonObject出现null值

    Gson将map转换成JsonObject出现null值Gson将map转换成JsonObject出现null值异常信息:Exceptioninthread”main”java.lang.IllegalStateException:NotaJSONObject:nullatcom.google.gson.JsonElement.getAsJsonObject(JsonElement…

发表回复

您的电子邮箱地址不会被公开。

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