4种方法,都是四舍五入,例:
- import java.math.BigDecimal;
- import java.text.DecimalFormat;
- import java.text.NumberFormat;
- public class format {
- double f = 111231.5585;
- public void m1() {
- BigDecimal bg = new BigDecimal(f);
- double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
- System.out.println(f1);
- }
- /**
- * DecimalFormat转换最简便
- */
- public void m2() {
- DecimalFormat df = new DecimalFormat("#.00");
- System.out.println(df.format(f));
- }
- /**
- * String.format打印最简便
- */
- public void m3() {
- System.out.println(String.format("%.2f", f));
- }
- public void m4() {
- NumberFormat nf = NumberFormat.getNumberInstance();
- nf.setMaximumFractionDigits(2);
- System.out.println(nf.format(f));
- }
- public static void main(String[] args) {
- format f = new format();
- f.m1();
- f.m2();
- f.m3();
- f.m4();
- }
- }
结果:
111231.56
111231.56
111231.56
111,231.56
BigDecimal.setScale()方法用于格式化小数点
setScale(1)表示保留一位小数,默认用四舍五入方式
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
setScale(1)表示保留一位小数,默认用四舍五入方式
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则向下舍
注释:
1:
scale指的是你小数点后的位数。比如123.456则score就是3.
score()就是BigDecimal类中的方法啊。
比如:BigDecimal b = new BigDecimal("123.456");
score()就是BigDecimal类中的方法啊。
比如:BigDecimal b = new BigDecimal("123.456");
b.scale(),返回的就是3.
2:
roundingMode是小数的保留模式。它们都是BigDecimal中的常量字段,有很多种。
比如:BigDecimal.ROUND_HALF_UP表示的就是4舍5入。
3:
pubilc BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)
的意思是说:我用一个BigDecimal对象除以divisor后的结果,并且要求这个结果保留有scale个小数位,roundingMode表示的就是保留模式是什么,是四舍五入啊还是其它的,你可以自己选!
roundingMode是小数的保留模式。它们都是BigDecimal中的常量字段,有很多种。
比如:BigDecimal.ROUND_HALF_UP表示的就是4舍5入。
3:
pubilc BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)
的意思是说:我用一个BigDecimal对象除以divisor后的结果,并且要求这个结果保留有scale个小数位,roundingMode表示的就是保留模式是什么,是四舍五入啊还是其它的,你可以自己选!
4:对于一般add、subtract、multiply方法的小数位格式化如下:
BigDecimal mData = new BigDecimal("9.655").setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println("mData=" + mData);
System.out.println("mData=" + mData);
----结果:----- mData=9.66
相关推荐
### Java保留两位小数的方法详解 #### 方法一:使用`BigDecimal` **原理**:通过`BigDecimal`类提供的方法,能够精确地控制数值的精度。在本案例中,使用`setScale`方法来设置小数点后保留的位数,并指定舍入规则...
### Java保留两位小数问题详解 在Java编程中,处理数值型数据时,经常会遇到需要对数字进行格式化的需求,尤其是对于浮点数的操作。本文将深入探讨如何在Java中保留两位小数,并覆盖四舍五入、浮点数精确计算以及...
java技术,对象操作:数值取整和保留两位小数,将数值转换成字符串。
当我们需要将`double`类型的数据格式化为保留两位小数的字符串时,可以使用`DecimalFormat`类,这是Java `java.text`包中的一个类,专门用于数值的格式化。 `DecimalFormat`类允许我们定义特定的模式来控制数字的...
项目中遇到小数相似度(业务给过来是小数)需要web界面以百分数的形式表示,并且保留两位小数。 直接上代码。 var nval = 0.12345; var percent = (Math.round(nval*10000))/100+'%'; 说明: 1.Math.round(num)函数...
在Java编程中,有时我们需要将数字格式化为保留两位小数的形式,以便在页面或界面上展示。这里我们将深入探讨几种常见的实现方式,并通过具体的示例代码来理解它们的工作原理。 1. **使用java.math.BigDecimal** `...
本文将详细介绍几种在Java中使double类型保留两位小数的方法。 ### 方法一:使用BigDecimal进行四舍五入 `BigDecimal` 类提供了精确的浮点数运算,并且支持自定义舍入模式。以下是一个例子: ```java double f = ...
### JavaScript 四舍五入并保留两位小数的方法 在JavaScript中实现四舍五五并保留两位小数的功能是常见的需求之一,特别是在处理财务数据或需要精确显示数值的应用场景下。根据提供的信息,我们将深入探讨如何在...
以下代码展示了如何使用`setScale`方法保留两位小数: ```java double f = 111231.5585; BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); ``` 其中,...
本文将详细介绍四种方法,用于在Java程序中将数值格式化为保留两位小数。这四种方法包括使用DecimalFormat类、String类的format方法、BigDecimal类以及NumberFormat类。 首先,我们来了解DecimalFormat类。...
Java和Freemarker保留两位小数的实现方法 Java语言中保留两位小数可以使用String.format()方法,例如: double acc = 22.4322; String accX = String.format("%.2f", acc); 这将将acc的值保留到小数点后两位,并...
在Java中,有多种方法可以实现四舍五入保留两位小数: - **使用`BigDecimal`类** `BigDecimal`是Java中处理大数和精确浮点运算的类。通过`setScale`方法可以设置小数位数,并通过`ROUND_HALF_UP`参数进行四舍五...
在Java编程语言中,处理double类型的数值时,我们经常需要将其格式化为保留两位小数的形式,以便于显示和计算。以下是一些在Java中实现这一目标的方法: 1. **使用`DecimalFormat`类**: `DecimalFormat`是`java....
例如,使用以下代码可以将小数保留两位: ```java String result = String.format("%.2f", 3.14159); ``` 这将输出结果为:3.14 二、使用DecimalFormat类 DecimalFormat类是Java提供的一种格式化类,可以用于格式...
Java中Double除保留后小数位的几种方法 Java中Double除保留后小数位的几种方法是指在Java编程语言中,对Double类型数据进行保留小数位的操作。这种操作在实际开发中非常常见,例如在统计成绩、金融计算、科学计算等...
这里的`"#.00"`表示保留两位小数,`#`代表任意位数,而`0`则代表必须显示的位数。如果希望显示更多或更少的小数位数,只需修改格式字符串即可。 #### 方式三:使用`String.format`方法 `String.format`是一种非常...
java BigDecimalUtil 保留两位小数 去掉小数位无效0并转换为String,nullToZero data.setScale(2, RoundingMode.HALF_UP);
本示例将深入讲解如何使用Java实现四舍五入并保留两位小数。这在财务计算、统计分析和其他需要精确数值表示的场景中非常常见。 首先,我们要明白Java中的`Math.round()`方法的基本用法。这个方法会将传入的浮点数四...
第一种方法:javascript实现保留两位小数一位自动补零代码实例: 第一种方法介绍一下如何实现对数字保留两位小数效果,如果数字的原本小数位数不到两位,那么缺少的就自动补零,这个也是为了统一的效果,先看代码实例...