float 4个字节 (32位)
double 8个字节 (64位)
赋值时,float类型,必须在直接量后面标明f,否则将默认为double类型。
double类型有更高的精度,但是占据更多资源,运算速度也将慢于float。
double k=1.3f;
System.out.println(k);
//output: 1.2999999523162842
float—>double转换会扩充精度的,float的精度可能为0.0000001,而double的精度可能为0.0000000000001这样转换后可能会有0.0000001 - 0.000000000000…
消除这种误差考虑使用BigDecimal
格式化输出:printf 和format 是等价的。
使用printf 即可:
System.out.printf(“%d\n%f”, 10,2f);
%9.4f 整个数的最小长度是9(小数点也占一位),小数部分最大长度4(四舍五入原则),长度不够右对齐。
%4d 整个数长度4位,长度不够右对齐。
%04d 整个数长度4位,长度不够将在其前面补零时期长度够4位。
%-4d 左对齐。(其他都一样)
%3.4s 字符串,最小长度3,最大长度4,超过最大长度之后的字母将删掉;长度不够,右对齐。
%1d long 型输出 (加的是数字1)
%1f double 型输出 (加的是数字1)
%u 十进制无符号整形
%c char型输出