关于java中double类型中保留小数位数的问题。请高人指点。。
publicinterfaceshape{doublearea();}publicinterfaceshape2dextendsshape{doublevolume();...
public interface shape {
double area();
}
public interface shape2d extends shape {
double volume();
}
public void setradius(double radius){
this.radius=radius;
}
public double getradius(){
return radius; }
@Override
public double area() {
// TODO Auto-generated method stub
return 4*Math.PI*radius*radius;
}
@Override
public double volume() {
// TODO Auto-generated method stub
return (4/3)*Math.PI*radius*radius*radius;
}
public class speretest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
spere sp=new spere(15);
System.out.println("半径为20的球体的表面积为:"+sp.area()+"\n半径为20的球体的体积为:"+sp.volume());
}
}
运行的结果如下:
半径为20的球体的表面积为:2827.4333882308138
半径为20的球体的体积为:10602.875205865552
我想把运行的结果保留2位小数,怎样弄呢??? 展开
double area();
}
public interface shape2d extends shape {
double volume();
}
public void setradius(double radius){
this.radius=radius;
}
public double getradius(){
return radius; }
@Override
public double area() {
// TODO Auto-generated method stub
return 4*Math.PI*radius*radius;
}
@Override
public double volume() {
// TODO Auto-generated method stub
return (4/3)*Math.PI*radius*radius*radius;
}
public class speretest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
spere sp=new spere(15);
System.out.println("半径为20的球体的表面积为:"+sp.area()+"\n半径为20的球体的体积为:"+sp.volume());
}
}
运行的结果如下:
半径为20的球体的表面积为:2827.4333882308138
半径为20的球体的体积为:10602.875205865552
我想把运行的结果保留2位小数,怎样弄呢??? 展开
5个回答
2011-06-12
展开全部
(float)Math.round(结果乘以100加0.5)/100
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
new java.text.DecimalFormat("#.00").format(sp.area())这样格式化以后就是保留两位小数了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
格式化输出,楼上正解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以使用NumberFormat类进行格式化输出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-06-12
展开全部
试试round(),具体用法自己搜去。
追问
这个函数时四舍五入取整,有没有保留一两位的呀!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询