java中取小數點後兩位(四種方法)

Long是長整型,怎麼有小數,是double吧
java.text.DecimalFormat df=new java.text.DecimalFormat("#.##");
double d=3.14159;
System.out.println(df.format(d));

java.math.BigDecimal
BigDecimal bd = new BigDecimal("3.14159265");
bd = bd.setScale(2,BigDecimal.ROUND_HALF_UP);  

class Test1{
public static void main(String[] args){
double ret = convert(3.14159);

System.out.println(ret);
}

static double convert(double value){
long l1 = Math.round(value*100); //四捨五入
double ret = l1/100.0; //注意:使用 100.0 而不是 100
return ret;
}
}

double d = 13.4324;
d=((int)(d*100))/100;  

 

我覺得第二種方法更好,試過,也可以四捨五入

 

轉自:http://blog.sina.com.cn/s/blog_3dbb3c860100ce5j.html

發佈了64 篇原創文章 · 獲贊 2 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章