java保留⼩数点后指定位数四种⽅法 1package com.itheima_01;
2
3import java.math.BigDecimal;
DecimalFormat;
NumberFormat;
6
7public class Demo03 {
8public static void main(String[] args) {
9/*
10保留指定⼩数点后位数
11*/
12double a = 1.0123456789123456789;
13//⽅法⼀:最简单的⽅法,调⽤DecimalFormat类
14//指定保留⼩数点后⼏位
15        DecimalFormat df = new DecimalFormat(".0000000000");
16//转换
17        String str = df.format(a);
18//String转double
19double v = Double.parseDouble(str);
20        System.out.println(v);
21
22//⽅法⼆:直接通过String类的format实现
24        String str2 = String.format("%.10f", a);
25double v2 = Double.parseDouble(str2);
26        System.out.println(v2);
27//⽅法三:通过BigDecimal实现
28        BigDecimal bd = new BigDecimal(a);
bigdecimal除法保留小数29double v1 = bd.setScale(11, BigDecimal.ROUND_HALF_UP).doubleValue();
30        System.out.println(v1);
31
32//⽅法四:通过NumberFormat类实现
33        NumberFormat nf = NumberInstance();
34        nf.setMaximumFractionDigits(12);
35        String s = nf.format(a);
36double v3 = Double.parseDouble(s);
37        System.out.println(v3);
38
39
40    }
41 }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。