1. 使用java.math.BigDecimal
2. 使用java.text.DecimalFormat
3. 使用java.text.NumberFormat
4. 使用java.util.Formatter
5. 使用String.format
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Formatter;
public final class PrecisionTest {
private PrecisionTest() {
}
/**
* 使用BigDecimal,保留小数点后两位
*/
public static String format1(double value) {
BigDecimal bd = new BigDecimal(value);
bd = bd.setScale(2, RoundingMode.HALF_UP);
return bd.toString();
}
/**
* 使用DecimalFormat,保留小数点后两位
*/
public static String format2(double value) {
DecimalFormat df = new DecimalFormat("0.00");
df.setRoundingMode(RoundingMode.HALF_UP);
return df.format(value);
}
/**
* 使用NumberFormat,保留小数点后两位
*/
public static String format3(double value) {
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
/*
* setMinimumFractionDigits设置成2
*
* 如果不这么做,那么当value的值是100.00的时候返回100
*
* 而不是100.00
*/
nf.setMinimumFractionDigits(2);
nf.setRoundingMode(RoundingMode.HALF_UP);
/*
* 如果想输出的格式用逗号隔开,可以设置成true
*/
nf.setGroupingUsed(false);
return nf.format(value);
}
/**
* 使用java.util.Formatter,保留小数点后两位
*/
public static String format4(double value) {
/*
* %.2f % 表示 小数点前任意位数 2 表示两位小数 格式后的结果为 f 表示浮点型
*/
return new Formatter().format("%.2f", value).toString();
}
/**
* 使用String.format来实现。
*
* 这个方法其实和format4是一样的
*/
public static String format5(double value) {
return String.format("%.2f", value).toString();
}
}
分享到:
相关推荐
在Java编程中,有时我们需要将数字格式化为保留两位小数的形式,以便在页面或界面上展示。这里我们将深入探讨几种常见的实现方式,并通过具体的示例代码来理解它们的工作原理。 1. **使用java.math.BigDecimal** `...
本文将详细介绍几种在Java中使double类型保留两位小数的方法。 ### 方法一:使用BigDecimal进行四舍五入 `BigDecimal` 类提供了精确的浮点数运算,并且支持自定义舍入模式。以下是一个例子: ```java double f = ...
Java和Freemarker保留两位小数的实现方法 Java语言中保留两位小数可以使用String.format()方法,例如: double acc = 22.4322; String accX = String.format("%.2f", acc); 这将将acc的值保留到小数点后两位,并...
Java中Double除保留后小数位的几种方法 Java中Double除保留后小数位的几种方法是指在Java编程语言中,对Double类型数据进行保留小数位的操作。这种操作在实际开发中非常常见,例如在统计成绩、金融计算、科学计算等...
这里的`"#.00"`表示保留两位小数,`#`代表任意位数,而`0`则代表必须显示的位数。如果希望显示更多或更少的小数位数,只需修改格式字符串即可。 #### 方式三:使用`String.format`方法 `String.format`是一种非常...
遍历MAP的几种方法,利用keyset进行遍历,它的优点在于可以根据你所想要的key值得到你想要的 values,更具灵活性
通过构造函数传入格式字符串,如 `"0.00"` 表示保留两位小数,再通过 `setRoundingMode()` 设置舍入模式。例如: ```java double a = 2.5; DecimalFormat df = new DecimalFormat("0.00"); df.setRoundingMode...
在本篇文档中,作者介绍了如何使用正则表达式来匹配限制为1到2位整数,或者最多包含两位小数的数字字符串。 ### 1. 正则表达式的组成 正则表达式由一系列字符构成,这些字符具有特定的含义。基本的组成部分包括: ...
// 保留两位小数 var roundedNum = num.toFixed(2); // 输出结果 console.log(roundedNum); // 输出 "3.14" // 如果需要将结果再次转回数字 var backToNum = parseFloat(roundedNum); console.log(backToNum); // ...
乘法"*"用于将小数相乘,如2.5 * 4.8 = 12.0,而除法"/"则是将一个数除以另一个数,如10 / 3.14 ≈ 3.17(四舍五入到两位小数)。这些基本运算构成了小数计算器的核心功能。 在编程实现小数计算器时,需要注意以下...
本文将详细介绍Java中的 `double` 类型精度问题,并提供几种解决方法。 #### 一、Java Double 精度丢失的原因 1. **二进制表示限制**:`double` 类型基于IEEE 754标准的双精度格式,使用64位来表示一个浮点数。...
在计算机科学领域,将小数转化为分数是一种常见的数学操作,特别是在算法竞赛(ACM)中,这类问题常常作为测试选手编程能力与数学思维的题目出现。循环小数转化为分数的算法是一个经典问题,它涉及到数论和算法设计...
需要注意的是,在进行除法运算时,如果两个整数相除,结果将是一个整数,且小数部分将被省略。如果要获取小数部分,需要使用浮点型数据。 例如:int a = 10; int b = 3; int c = a / b; // c 的值将是 3 二、关系...
// 保留两位小数 RoundingMode mode = RoundingMode.HALF_UP; // 四舍五入 BigDecimal roundedBigDecimal = bd.setScale(scale, mode); int roundedNum = roundedBigDecimal.intValue(); ``` 这样,`roundedNum`将...
此外,Java保留了几个未使用的关键字,如"goto"和"const"。 6. Java数据类型 Java的数据类型分为基本数据类型和引用数据类型两大类。基本数据类型包括了逻辑型(boolean)、字符型(char)、整数型(byte, short, ...
下面将详细阐述文档中提到的Java编程中应注意的几个关键细节。 1. 数值表达式中的奇偶判断 在Java中,判断一个整数是否为奇数时,应避免使用i%2==1的表达式,因为当整数i为负数时,例如-1%2的结果为-1,这并不是...
5. **格式化输出**:为了使输出的数字具有特定格式,例如保留两位小数,题目中使用了`DecimalFormat`类。如`DecimalFormat gs=new DecimalFormat("#.00");`定义了一个格式对象,然后`gs.format(res)`将结果格式化后...
Java计算类是一个专门设计用于进行基本数学运算(加、减、乘、除)以及控制数字格式(四舍五入、保留特定位数的小数)的类。该类使用了Java中的BigDecimal类来确保在处理大数字或者要求精度高的计算时,能够保持计算...
`这样的方式输出结果,保留两位小数,这样可以得到正确的显示结果。 - **使用整数**:如果应用场景允许,可以使用整数来进行计算。例如,将金额转换为分,从而避免浮点数运算。示例代码如下: ```java System.out....