练OJ是一个特别需要耐心和Vissurra的事。
格式化输出double数值,精度为小数点后两位。
如:
average = 1458.42453;
底下这个方法里面看不懂。
上网查了一下。
Math.round(x)的方法,是x+0.5,然后向下取整。这样相当于四舍五入了。
Math.floor()这个方法翻译过来是地板,就是向下取整的意思。
Math.ceil()翻译过来是天花板,就是向上取整的意思。
System.out.println("Math.round(average * 100)/100.0);
底下这个方法是专业的格式化的方法。
利用DecimalFormat这个类。
System.out.println(new DecimalFormat("0.00").format(average));
就把这个记住就好了。其他还有不少方法,以后在说。
但是在我不知道这个方法的时候,我自己写了一个方法,我不知道为什么OJ上一直给我WA,之前一直有点气愤。
我是这么写的。
String str = String.valueOf(average);
String[]str1 = str.split("\\.");
String str2 = str1[1].substring(0,2);
str = str1[0]+"."+str2;
System.out.println(str);
现在想了一下,不知道是不是因为没有四舍五入。
但是DecimalFormat这个方法是四舍五入的吗,我用DecimalFormat的时候OJ让我过了。
我不知道为什么。
网友评论