我控制台输出(10000.0/3.0)结果为3333.333333333335共18个字符但是double精度是15位啊,我将它转化为float结果为3333.3333但是float的精度是6-7位为什么会这样,新手求解
3条回答
- threenewbee 2016-06-19 04:14关注
double的精度和输出的10进制方式的精度没有任何关系。这里说的double float的精度是指它的有效精度。以你的程序为例,它输出
3333.333333333335,很明显最后一位5已经不是有效数字了,它的有效数字是15位,和你的结论是一样的。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 无线电能传输系统MATLAB仿真问题
- ¥50 如何用脚本实现输入法的热键设置
- ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
- ¥30 深度学习,前后端连接
- ¥15 孟德尔随机化结果不一致
- ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
- ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
- ¥15 谁有desed数据集呀
- ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
- ¥15 关于#hadoop#的问题