zoukankan      html  css  js  c++  java
  • java 关于数字取小数点后两位出现整数0没有的问题

    最近再项目中对取到的一系列带很长小数的数字,展现时要求去小数点后两位显示就可以了

    开始我是以下写法:

     double  a =  0.1234455;

    DecimalFormat decimalFormat=new DecimalFormat(".00");
    decimalFormat.format(a);

    结果发现转换后得到的是: .12

    后来百度了一下,特整理如下:
    DecimalFormat decimalFormat=new DecimalFormat(".00");
    
    
    decimalFormat.format(a);   //得到:.12

    DecimalFormat decimalFormat2=new DecimalFormat("#.00");
    
    
    decimalFormat2.format(a);   //得到:.12

    DecimalFormat decimalFormat3=new DecimalFormat("0.00");
    
    
    decimalFormat3.format(a);   //得到:0.12

    DecimalFormat decimalFormat4=new DecimalFormat("#.##");
    
    
    decimalFormat4.format(a);   //得到:0.12

    System.out.println(String.format("%.2f", a));    //得到: 0.12

    BigDecimal b = new BigDecimal(a);
    double d = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
    System.out.println(d); //得到: 0.12

    NumberFormat f = NumberFormat.getNumberInstance();
    f.setMaximumFractionDigits(2);
    System.out.println(f.format(a)); //得到: 0.12
     
     
  • 相关阅读:
    HDU 4334
    HDU 1280
    HDU 1060
    HDU 4033
    大三角形分成4个面积相等的小三角形
    HDU 1087
    HDU 4313
    Sleep(0)及其使用场景
    Decorator(装饰、油漆工)对象结构型模式
    Debug Assertion Failed!
  • 原文地址:https://www.cnblogs.com/zhch1212/p/11740680.html
Copyright © 2011-2022 走看看