Java double和float精确度问题

我控制台输出(10000.0/3.0)结果为3333.333333333335共18个字符但是double精度是15位啊,我将它转化为float结果为3333.3333但是float的精度是6-7位为什么会这样,新手求解

3个回答

double的精度和输出的10进制方式的精度没有任何关系。这里说的double float的精度是指它的有效精度。以你的程序为例,它输出
3333.333333333335,很明显最后一位5已经不是有效数字了,它的有效数字是15位,和你的结论是一样的。

qq_27966627
零碎梦颜 谢谢,知道了
4 年多之前 回复

java也有控制精度的函数,你可以百度一下。问题我在你之前的问题中说了。

看完,我也长知识了,赞,以前都没有很注意这个。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐