七叶笔记 » java编程 » 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.79123456.79123456.79123,456.79

java保留小数的四种方法介绍:

1、BigDecimal

常用于金额的计算,超过16位使用

Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。

虽然双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。

BigDecimal所创建的是对象,但是不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。

2、DecimalFormat

它是 NumberFormat 的一个具体子类,用于格式化十进制数字。可以帮你用最快的速度将数字格式化为你需要的样子。

3、String.format

打印最简便。

String.format 作为字符串格式化,简单调用 String.format(“Hello %s”, “John”);

String.format返回的是String类型的字符串。

4、NumberFormat

NumberFormat 是所有数值格式的抽象基类。 该类提供了格式化和分析数值的接口。

以上四种方式,常用的是2,3。

相关文章