Android中关于保留小数点位数的处理

保留两位小数

方法一:

{

    double c = 3.154215;

    java.text.DecimalFormat myformat=new java.text.DecimalFormat("0.00");

    String str = myformat.format(c);

}

方式二:

{

    java.text.DecimalFormat df = new java.text.DecimalFormat("#.00");

    df.format(你要格式化的数字);

}

例:new java.text.DecimalFormat(“#.00”).format(3.1415926)

#.00 表示两位小数 #.0000四位小数 以此类推…

方式三:

{

  double d = 3.1415926;

  String result = String .format("%.2f");

}

%.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型

方法四(四舍五入):

{

    double f = 111231.5585;

    BigDecimal b = new BigDecimal(f);

    //保留2位小数

    double f1 = b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();

}

小数点后补0

如果float num = 3.14f; 现在需要保留5为小数。这里要知道一点,不管是Float类型还是Double类型,他们都是不会记住小数位数的,而BigDecimal就可以记住。而且这种需求我们肯定是用String来记录,因为在UI显示肯定是要转换为String类型的。

{

    float num = 3.140f;

    BigDecimal b = new BigDecimal(num);

    //保留5位并且属于四舍五入类型,当然这里的四舍五入没有任何意义,可以选择其他类型。

    b.setScale(5, BigDecimal.ROUND_HALF_UP).toString();

}

---------------------

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容