把String类型的小数点格式化为保留小数点后两位

public static void main(String[] args) {

//第一种方法把String类型的小数保留后两位

String a="1.9801";

//把Sting类型转换为double类型

double d=Double.parseDouble(a);

BigDecimal big=new BigDecimal(d);

big=big.setScale(2, BigDecimal.ROUND_HALF_UP);

System.out.println(big);

//第二种方法

DecimalFormat df=new DecimalFormat("0.00");

String dd=df.format(d);

System.out.println(dd);

}

 

 

 

Double乘以int会导致精度丢失,有很多位小数,解决方法如下:

String s = "0.18279442222";

Double d1 = Double.parseDouble(s);

/**

*Double乘以int则会导致小数位数很多,处理方法如下"%.2f"中.2是保留两位小数,

*加%是变成百分数

*/

String d2 =String.format("%.2f",d1*100)+"%";

System.out.println(d2 );

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章