我现在有一个函数
public double round(double num){
...
return num;
}
当num=10.01时候返回值是10.01,可是当num=10或者num=10.00时候返回值就是10.0了,现在怎么能函数的返回值是double类型的情况下返回值是10.00?
不要告诉我用java.text.NumberFormat,ava.text.DecimalFormat这个是可以格式化,比java.text.DecimalFormat myformat=new java.text.DecimalFormat("#0.00");
System.out.println(myformat.format(num) + "," + Double.parseDouble(myformat.format(num)) + "," + num);但是返回值是字符串的,我就想要返回值是double的。也试过BigDecimal也不行,速求解决方案!
public double round(double num){
...
return num;
}
当num=10.01时候返回值是10.01,可是当num=10或者num=10.00时候返回值就是10.0了,现在怎么能函数的返回值是double类型的情况下返回值是10.00?
不要告诉我用java.text.NumberFormat,ava.text.DecimalFormat这个是可以格式化,比java.text.DecimalFormat myformat=new java.text.DecimalFormat("#0.00");
System.out.println(myformat.format(num) + "," + Double.parseDouble(myformat.format(num)) + "," + num);但是返回值是字符串的,我就想要返回值是double的。也试过BigDecimal也不行,速求解决方案!
2. 使用 JDK 1.5 的 System.out.printf() 进行格式化输出,使用方法与 C 的 printf() 类似;
double b = 10.0;
System.out.printf("%.2f%n", b);
3. 使用 String.format(); 转成字符串,使用方法同 2。
double b = 10.0;
System.out.println(String.format("%.2f", b));
double b2 = 10.00d;
System.out.println(b1 == b2);Double b3 = new Double(10.0d);
Double b4 = new Double(10.00d);
System.out.println(b3.compareTo(b4));