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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 26款 流媒体服务器开源软件「建议收藏」

    26款 流媒体服务器开源软件「建议收藏」26款流媒体服务器开源软件1Flash流媒体服务器Red52DarwinStreamingServer3流媒体服务器OpenStreamingServer4MPEG4IP5开源流媒体平台FreeCast6

    2022年5月6日
    44
  • hadoop namenode热备切换过程和secondarynamenode的作用

    hadoop namenode热备切换过程和secondarynamenode的作用hadoop namenode热备切换过程和secondarynamenode的作用

    2022年4月23日
    57
  • prophet Seasonality, Holiday Effects, And Regressors季节性,假日效应和回归[通俗易懂]

    prophet Seasonality, Holiday Effects, And Regressors季节性,假日效应和回归[通俗易懂]例子代码https://github.com/lilihongjava/prophet_demo/tree/master/seasonality_holiday_effects__regressors一、假期和特殊事件建模如果有假期或其他想要建模的重复事件,则必须为它们创建dataframe。对于dataframe,每个假期一行有两列(holiday节假日和ds日期戳)。它必须包括所有…

    2022年6月21日
    27
  • npm使用淘宝镜像(npm淘宝镜像安装依赖失败)

    一、node包管理二、网站网站:https://www.npmjs.com三、npm命令工具只要安装了node就已经安装了npmnpm–version查看版本号npminstall–globalnpm升级版本四、npm常用命令npminit生成package.json文件后面加-y可以跳过向导,快速生成npminstallnpminstall包名只下…

    2022年4月10日
    100
  • 编码器原理_编码器使用方法

    编码器原理_编码器使用方法引用LQ的编码器原理1/概述  旋转编码器是用来测量转速的装置。它分为单路输出和双路输出两种。技术参数主要有每转脉冲数(几十个到几千个都有),和供电电压等。单路输出是指旋转编码器的输出是一组脉冲,而双路输出的旋转编码器输出两组相位差90度的脉冲,通过这两组脉冲不仅可以测量转速,还可以判断旋转的方向。编码器如以信号原理来分,有增量型编码器,绝对型编码器。 2/原理 增量型编码

    2022年10月1日
    4
  • 2020-03-28

    2020-03-28电赛准备电赛的每个题目均有硬件设计与软件设计(1)电路特性测试仪输出1kHz正弦波信号,自动测量并显示该放大器的输入电阻。输入电阻测量范围1k0-50k2,相对误差的绝对值不超过10%。硬件要求:电源题、通信高频题(2)电路特性测试仪输出IkHz正弦波信号,自动测量并显示该放大器的输出电阻。输出电阻测量范围500SkQ,相对误差的绝对值不超过软件要求:仪表题、控制题10%。(3)…

    2022年5月13日
    38

发表回复

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

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