java当中float以及double数据类型的掌握
?* java当中默认声明的小数是double类型的;
?* double d=4.0
?* 如果声明:
?* float x = 4.0则会报错,需要如下写法:
?* float x = 4.0f或者float x = (float)4.0
?* 其中4.0f后面的f只是为了区别double,并不代表任何数字上的意义
?*?
?* float 内存分配4个字节,占32位,有效小数位6-7位
?* double 型 内存分配8个字节,有效小数位15位
?
flaot:
/** * 提供精确的小数位四舍五入处理。 * @param v 需要四舍五入的数字 * @param scale 小数点后保留几位 * @return 四舍五入后的结果 */ public static double round(double v,int scale) { if(scale<0){ throw new IllegalArgumentException("The scale must be a positive integer or zero"); } BigDecimal b = new BigDecimal(Double.toString(v)); BigDecimal one = new BigDecimal("1"); return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue(); }?