当前位置: 代码迷 >> Java Web开发 >> 如何保留小数点后两位小数
  详细解决方案

如何保留小数点后两位小数

热度:117   发布时间:2016-04-17 11:13:47.0
怎么保留小数点后两位小数?
Object 类型 把它转换成 BigDecimal ,并且保留小数点后两位小数,如何做

   

Java code
        DecimalFormat df = new DecimalFormat("0.00");        Object price = 2.3;        try {            str = df.format(price);            System.out.println("-->"+str ) ;  // 结果是 2.30                        // 这里开始转换为BigDecimal ,并且保留小数点后两位小数            double value1 = Double.valueOf(str); // 先转换为Double             System.out.println("double str is "+value1); // 结果为 2.3             BigDecimal bb = new   BigDecimal(value1);            System.out.println(price +" is 111 is "+bb) ; // 结果为 2.3 


怎么才能让结果是2.30呢?


------解决方案--------------------
BigDecimal b = new BigDecimal(value1);
double df = b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
------解决方案--------------------
Java code
package com.test;import java.text.MessageFormat;public class MyForamt {    public static void main(String[] args){        Object obj=2.3;                System.out.println(                MessageFormat.format("{0,number,#}",obj)            );            System.out.println(                MessageFormat.format("{0,number,#.#}",obj)            );                System.out.println(                MessageFormat.format("{0,number,#.00}",obj)            );            }}
------解决方案--------------------
可能要进行一下四舍五入吧 lz试一下咯
  相关解决方案