王震阳 发表于 2012-11-22 21:14
2行代码搞定。就是阅读性差,但是数据兼容类型要比楼主的好很多。代码见下面: ...
加了个对小数后的位数进行判断的
class MathDemo1
{
public static void main(String[] args) //该代码不仅可以对整型、只含有一个小数,含有2个小数,和含有2个小数以上的double型进行操作,丰富了对数据的兼容性
{ //为了尽最大努力压缩代码量,该程序易读性比较差。
getDouble(123);
getDouble(4.5);
getDouble(6.789);
getDouble(0.46656);
getDouble(-5.23456);
}
public static void getDouble(double b)//只有2行代码,不仅实现了预期目标还增强了对数据的兼容类型
{
String[] buff=String.valueOf(b).replace(".",":").split(":");
//System.out.println(buff[0]+"."+buff[1].substring(0,(buff[1].length()>=2)?2:((buff[1].length()==1)?1:0)));
//当小数点后大于两位时
if(buff[1].length()>=2)
{
System.out.println(buff[0]+"."+buff[1].substring(0,2));
}
//小数点后只有一位时
else if(buff[1].length()==1)
{
System.out.println(buff[0]+"."+buff[1].substring(0,1)+"0");
}
//小数点后没有位数时
else
{
System.out.println(buff[0]+".00");
}
}
}
看看有没有把后面的判断改的更简单点的
|
|