阅读更多
有四种方法:
一.double d = 13.24535;
d = ((int)(d*100))/100;
二. class Test1{
public static void main(String[] args){
double d = convert(3.141592);
System.out.println(d);
}
static double convert(double value){
long lg = Math.round(value*100); //四舍五入
double d= lg/100.0; //注意:使用 100.0而不是 100
return d;
}
}
三.java.math.BigDecimal
BigDecimal bd = new BigDecimal("3.14159265");
bd = bd.setScale(2,BigDecimal.ROUND_HALF_UP);
四. java.text.DecimalFormat df=new java.text.DecimalFormat("#.##");
double d=3.14159;
System.out.println(df.format(d));
double型数据,想在小数点后保留两位,该怎么写?
现知道有d=int(d*100+5) d=d/100,有没有哪个属性可以直接设?
(1)d.TOSTRING(".##")
(2)round(double,int )四舍五入的函数
(3)d.ToString("F2")
d.ToString("f2");//结果取小数点后两位,且四舍五入
(d-0.005).ToString("f2");//直至保留小数点前两位,不四舍五入
(4)string.Format("{0:f2}",要显示的数据);