美文网首页
2019-07-17 BigDecimal浮点数double,f

2019-07-17 BigDecimal浮点数double,f

作者: Albert陈凯 | 来源:发表于2019-07-17 19:31 被阅读0次

这个死记硬背的规律我不擅长

import java.math.BigDecimal;

public class Test {

    public static void main(String[] args) {

        double d = 0.1D;
        float f = 0.1F;

        Double aDouble = Double.valueOf(d);
        Float aFloat = Float.valueOf(f);


        BigDecimal dbigDecimal = new BigDecimal(aDouble.toString());
        BigDecimal dbigDecimal1 = new BigDecimal(d);
        BigDecimal dbigDecimal2 = new BigDecimal(aDouble);
        BigDecimal dbigDecimal3 = BigDecimal.valueOf(d);
        BigDecimal dbigDecimal4 = BigDecimal.valueOf(aDouble);
        BigDecimal fbigDecimal = new BigDecimal(aFloat.toString());
        BigDecimal fbigDecimal1 = new BigDecimal(f);
        BigDecimal fbigDecimal2 = new BigDecimal(aFloat);
        BigDecimal fbigDecimal3 = BigDecimal.valueOf(f);
        BigDecimal fbigDecimal4 = BigDecimal.valueOf(aFloat);

        BigDecimal dbigDecimal = new BigDecimal(aDouble.toString());
        BigDecimal dbigDecimal1 = new BigDecimal(d);
        BigDecimal dbigDecimal2 = new BigDecimal(aDouble);
        BigDecimal dbigDecimal3 = BigDecimal.valueOf(d);
        BigDecimal dbigDecimal4 = BigDecimal.valueOf(aDouble);
        BigDecimal fbigDecimal = new BigDecimal(aFloat.toString());
        BigDecimal fbigDecimal1 = new BigDecimal(f);
        BigDecimal fbigDecimal2 = new BigDecimal(aFloat);
        BigDecimal fbigDecimal3 = BigDecimal.valueOf(f);
        BigDecimal fbigDecimal4 = BigDecimal.valueOf(aFloat);

        System.out.println("----");
        System.out.println("new BigDecimal(aDouble.toString()) :\n"+dbigDecimal);
        System.out.println("----");
        System.out.println("new BigDecimal(d) : \n"+dbigDecimal1);
        System.out.println("----");
        System.out.println("new BigDecimal(aDouble) :");
        System.out.println(dbigDecimal2);
        System.out.println("----");
        System.out.println("BigDecimal.valueOf(d) : ");
        System.out.println(dbigDecimal3);
        System.out.println("----");
        System.out.println("BigDecimal.valueOf(aDouble) :");
        System.out.println(dbigDecimal4);
        System.out.println("----");
        System.out.println("new BigDecimal(aFloat.toString())");
        System.out.println(fbigDecimal);
        System.out.println("----");
        System.out.println("new BigDecimal(f)");
        System.out.println(fbigDecimal1);
        System.out.println("----");
        System.out.println("new BigDecimal(aFloat)");
        System.out.println(fbigDecimal2);
        System.out.println("----");
        System.out.println("BigDecimal.valueOf(f)");
        System.out.println(fbigDecimal3);
        System.out.println("----");
        System.out.println("BigDecimal.valueOf(aFloat):" + (fbigDecimal4.compareTo(BigDecimal.valueOf(0.1D)) == 0));
        System.out.println(fbigDecimal4);

    }
}

公布答案

0.1
0.1000000000000000055511151231257827021181583404541015625
0.1000000000000000055511151231257827021181583404541015625
0.1
0.1
0.1
0.100000001490116119384765625
0.100000001490116119384765625
0.10000000149011612
0.10000000149011612

相关文章

网友评论

      本文标题:2019-07-17 BigDecimal浮点数double,f

      本文链接:https://www.haomeiwen.com/subject/yhwclctx.html