标签:
Circle.java
import java.math.BigDecimal;
public class Circle{
private double radius =0;
public final double PI=3.14;
public Circle(double radius1){
this.radius=radius1;
}
public double area(){
double db=radius*radius*PI;
BigDecimal s=new BigDecimal(db);
Double l = s.setScale(3,BigDecimal.ROUND_HALF_UP).doubleValue();
return l;
}
}
TestCircle.java
import java.util.Scanner;
public class TestCircle{
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
System.out.println("请输入半径:");
double r=scan.nextDouble();
Circle cl=new Circle(r);
System.out.println(cl.area());
//System.out.println((double)(1/3));
}
}
//计算2.3*2.3*3.14实际结果为16.6106;
//当输入2.3时,结果为16.610599999999998
//原因:计算机对有些数据是表示不出来的 例如:1/3计算机表示结果为0.0;
/*保留两位小数{
方法一:{
double c=3.154215;
java.text.DecimalFormat myformat=new java.text.DecimalFormat("0.00");
String str = myformat.format(c);
}
方式二:{
java.text.DecimalFormat df =new java.text.DecimalFormat("#.00");
df.format(你要格式化的数字);
例:new java.text.DecimalFormat("#.00").format(3.1415926)
#.00 表示两位小数 #.0000四位小数 以此类推...
}
方式三:{
double d = 3.1415926;
String result = String .format("%.2f");
%.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型S
}
}
四舍五入
BigDecimal类处理
{
double f = 111231.5585;
BigDecimal b = new BigDecimal(f);
//保留2位小数
double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
}*/
标签:
原文地址:http://www.cnblogs.com/wuguang/p/4630681.html