java中float和double输出结果到底是多少位
publicclasstest{publicstaticvoidmain(String[]args){floati=12.3f,j=12.3f;floatk=i*j;do...
public class test{ public static void main(String[] args){ float i=12.3f, j=12.3f; float k=i*j; double x=12.3,y=12.3; double z=x*y; System.out.println("i*j="+k); System.out.println("x*y="+z);}} 输出结果是 i*j=151.29001 x*y=151.29000000000002(小数点后14位) public class test{ public static void main(String[] args){ float x=12.3f; double y=x; System.out.println("x="+x+"\n"+"y="+y); } } 输出结果是 x=12.3 y=12.300000190734863(小数点后15位) 为什么输出的float类型有的是小数点后5位和1位的,默认不是6位吗? doube类型第一个是小数点后14位的,第二个却是小数点后有15位?
展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询