java怎么保留小数


在java的学习中,每每算法有一个是属于java的小数点位数保留。通常有四种方式。
java中保留小数示例:java

/**
* 1.BigDecimal经常使用于金额的计算,
* 超过16位使用
*/
public void m1() {
BigDecimal bg = ``new` `BigDecimal(f);
double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(f1);
}
/**
* 2.DecimalFormat转换最简便
* 用于格式化十进制数字
* 经常使用
*/
public void m2() {
DecimalFormat df = ``new` `DecimalFormat(``"#.00"``);
System.out.println(df.format(f));
}
/**
* 3.String.format打印最简便
* 经常使用
*/
public void m3() {
System.out.println(String.format(``"%.2f"``, f));
}
/**
* 4.NumberFormat
*  是全部数值格式的抽象基类。
*/
public void m4() {
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
System.out.println(nf.format(f));
}
public static void main(String[] args) {
java_01 f = ``new` `java_01();
f.m1();
f.m2();
f.m3();
f.m4();
}
输出结果:自动四舍五入:
123456.79
123456.79
123456.79
123,456.79

java保留小数的四种方法介绍:
一、BigDecimal
经常使用于金额的计算,超过16位使用
Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。
虽然双精度浮点型变量double能够处理16位有效数。在实际应用中,须要对更大或者更小的数进行运算和处理。float和double只能用来作科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。
BigDecimal所建立的是对象,可是不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。git

二、DecimalFormat
它是 NumberFormat 的一个具体子类,用于格式化十进制数字。能够帮你用最快的速度将数字格式化为你须要的样子。算法

三、String.format
打印最简便。
String.format 做为字符串格式化,简单调用 String.format(“Hello %s”, “John”);
String.format返回的是String类型的字符串。学习

四、NumberFormat
NumberFormat 是全部数值格式的抽象基类。 该类提供了格式化和分析数值的接口。spa

以上四种方式,经常使用的是2,3。
以上就是java怎么保留小数的详细内容,但愿对你有所帮助。code

阅读原文:java怎么保留小数orm