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 );
————————————————
版权声明:本文为CSDN博主「IT小博客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38224812/article/details/105637181