我控制台输出(10000.0/3.0)结果为3333.333333333335共18个字符但是double精度是15位啊,我将它转化为float结果为3333.3333但是float的精度是6-7位为什么会这样,新手求解
double的精度和输出的10进制方式的精度没有任何关系。这里说的double float的精度是指它的有效精度。以你的程序为例,它输出
3333.333333333335,很明显最后一位5已经不是有效数字了,它的有效数字是15位,和你的结论是一样的。
java也有控制精度的函数,你可以百度一下。问题我在你之前的问题中说了。
看完,我也长知识了,赞,以前都没有很注意这个。