Double、float型別精確到小數點後幾位
阿新 • • 發佈:2019-01-26
需求:返回的一系列資料,精確到小數點後2位
方法一、使用Math.round()
Double value = 0.254668;
(double)Math.round(value*100)/100
方法二、使用DecimalFormat方法
DecimalFormat format=new DecimalFormat(".00");//構造方法的字元格式這裡如果小數不足2位,會以0補足.
String p=format.format(value);//format 返回的是字串
我當前的需求是計算兩個座標的距離,小於1000米顯示米,大於一公里顯示公里
double distance = .....;
if(distance>1000){
//方法一
DecimalFormat format=new DecimalFormat(".0");//不足1位,會以0補足.
String v=format.format(distance/1000);
Log.i("distance", "DecimalFormat: "+v+"公里");
//方法二
double a =(double)Math.round(distance/100)/10;
Log.i("distance", "Math.round: "+a+"公里");
}else{
Log.i("distance", "markPoint: "+(int)distance+"米");
}