因为d是double型的,输出是按照double的精度进行输出的如果你写成System.out.println((float)d+","+a); 可能就是你所想的那个结果
float是单精度浮点型,8位double是双精度浮点型,长度为float的两倍,16位在8位后就全是随机数了