首页 > 其他分享 >bigdecimal保留两位小数

bigdecimal保留两位小数

时间:2023-08-08 15:12:43浏览次数:32  
标签:舍入 两位 bigdecimal round towards mode HALF ROUND 小数

bigdecimal保留两位小数

1 public class test1_format {
2 public static void main(String[] args) {
3 BigDecimal decimal = new BigDecimal("1.12345");
4 System.out.println(decimal);
5 BigDecimal setScale = decimal.setScale(4,BigDecimal.ROUND_HALF_DOWN);
6 System.out.println(setScale);
7
8 BigDecimal setScale1 = decimal.setScale(4,BigDecimal.ROUND_HALF_UP);
9 System.out.println(setScale1);
10 }
11 }
参数定义

ROUND_CEILING
Rounding mode to round towards positive infinity.
向正无穷方向舍入

ROUND_DOWN
Rounding mode to round towards zero.
向零方向舍入

ROUND_FLOOR
Rounding mode to round towards negative infinity.
向负无穷方向舍入

ROUND_HALF_DOWN
Rounding mode to round towards “nearest neighbor” unless both neighbors are equidistant, in which case round down.
向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向下舍入, 例如1.55 保留一位小数结果为1.5

ROUND_HALF_EVEN
Rounding mode to round towards the “nearest neighbor” unless both neighbors are equidistant, in which case, round towards the even neighbor.
向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,如果保留位数是奇数,使用ROUND_HALF_UP ,如果是偶数,使用ROUND_HALF_DOWN

ROUND_HALF_UP
Rounding mode to round towards “nearest neighbor” unless both neighbors are equidistant, in which case round up.
向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向上舍入, 1.55保留一位小数结果为1.6

ROUND_UNNECESSARY
Rounding mode to assert that the requested operation has an exact result, hence no rounding is necessary.
计算结果是精确的,不需要舍入模式

ROUND_UP
Rounding mode to round away from zero.
向远离0的方向舍入

标签:舍入,两位,bigdecimal,round,towards,mode,HALF,ROUND,小数
From: https://www.cnblogs.com/w1366/p/17614376.html

相关文章

  • c#去html标志,对字符串保留数字小数点,有中文的日期转化等特殊数据处理
    命名空间usingSystem.Text.RegularExpressions;1.我们采集到的数据比如有些日期很不规则带有中文比如2013年5月8日  2013年5月 这里提供把这类不规则的日期转化成datatime类型publicDateTimeConvertTime(stringa){DateTimedt......
  • 使用print()函数控制小数位
     方法一:round(x,N)这种方法不是严格有效的,当数字总的小数位小于控制输出的小数位时没有效果。num=3.1round(3.1,2)3.1round(3.141,2)3.14round(3,2)3  方法二:print("%.nf"%x)'%.2f'%3.1'3.10''%.2f'%3.1415'3.14' 方法三:print(form......
  • BigDecimal判断整除/除尽
    整除:在除法中只有被除数、除数和商都是整数的情况下,才可以说是“整除”。除尽:在除法中只要除到某一位时没有余数,不管被除数、除数和商是整数还是小数,都可以说是“除尽”。BigDecimal判断是否能被整除/***判断被除数是否能被除数整除**@paramdividend被除数*@paramdivisor......
  • 剑指 Offer 11. 旋转数组的最小数字(简单)
    题目:classSolution{public:intminArray(vector<int>&numbers){intresult=numbers[0];//当旋转0个元素时第一个元素就是最小值if(numbers.size()==1)returnresult;for(inti=1;i<numbers.size();i++){//通过观......
  • 设计一个小数(分数)分频电路?
    请设计一个小数(分数)分频电路?例:设计一个3.6的分频电路。计算原理:N=M.D>1分频  M整数部分 D小数部分使用M分频和M+1分频来构成M.D分频设M分频A次 M+1分频B次可得M*A+(M+1)*B周期内可看作 [M*A+(M+1)*B]/(A+B)=N分频代值可得:N=3.6  M=3  M+1=436/3......
  • python 将十进制小数转为n进制小数
    Python将十进制小数转为n进制小数在计算机科学中,数字经常以十进制(base-10)表示。这意味着数字由10个不同的数字(0-9)组成。然而,有时我们需要将数字转换为其他进制,例如二进制(base-2)或十六进制(base-16)。在本文中,我们将重点讨论如何将十进制小数转换为n进制小数,其中n是2到36之间的任意......
  • 发票数字转金额大写(保留两位小数)
    数字金额转大写/***description数字转换成大写*params:val=>number*/functiontranslateNumber(val){if(!Number(val)||!val)return0letnum=0letcopyNum=[]if(String(val).includes('.')){//存在小数点的情况copyNum=S......
  • java 截取小数点后面的数字
    Java截取小数点后面的数字在Java编程中,经常需要对小数进行处理,并且有时候需要截取小数点后面的数字。本文将介绍如何使用Java来实现截取小数点后面的数字,并提供相应的代码示例。方法一:使用字符串截取一种常见的方法是将小数转换为字符串,然后使用字符串的截取方法来获取小数点后......
  • python读取excel为什么是小数
    Python读取Excel为什么是小数在使用Python读取Excel文件时,经常会遇到一个问题:为什么读取的数据会以小数的形式显示,而不是原始的整数或文本呢?这个问题涉及到Python读取Excel的原理以及Excel中的数据类型的转换。Excel中的数据类型在Excel中,每个单元格都有自己的数据类型。常见的......
  • python如何生成随机两位小数
    使用Python生成随机两位小数在很多实际应用中,我们常常需要生成随机的两位小数。Python中提供了多种方法来实现这个需求。在本文中,我们将介绍两种常用的方法,分别是使用random模块和使用numpy库。方法一:使用random模块random模块是Python中用于生成伪随机数的模块,其中提供了多个生......