今天无聊中想进个群去聊会,没想到还有问题math.round(-18.7) 这种在培训的时候经历过,这里面有点知识点,但是忘记了,找了点资料实践了一下,把总结写出来,以后能看看;
System.out.println("第一位等于5");
System.out.println("正:"+Math.round(6.5)+" 负:"+Math.round(-6.5));
System.out.println("第一位大于5");
System.out.println("正:"+Math.round(6.7)+" 负:"+Math.round(-6.7));
System.out.println("第一位小于5");
System.out.println("正:"+Math.round(6.4)+" 负:"+Math.round(-6.4));
结果:
第一位等于5
正:7 负:-6
第一位大于5
正:7 负:-7
第一位小于5
正:6 负:-6
总结:
1、参数的小数点后第一位<5,运算结果为参数整数部分。
2、参数的小数点后第一位>5,运算结果为参数整数部分绝对值+1,符号(即正负)不变。
3、参数的小数点后第一位=5,正数运算结果为整数部分+1,负数运算结果为整数部分。
在这之前在群里看到一个问题:
byte[] b={1,2,3};
String tr=new String(b);
System.out.println(tr);
在输出的时候值变样了,
在网上查了一下:当 new String 里的参数是byte字节的时候,byte里面的数字代表的是ASCII码,输出的值就是对象的ASCII值
如果b中的值有65,97等,输出的结果就是Aa。
无意中看到的,记录一下,以后也许会涉及到。