u370249526 2017-08-30 16:14 采纳率: 0%
浏览 4315

float转int的问题,跪求大神解释?

public class Test {
public static void main(String[] args) {
System.out.println(float2Int(999998));
System.out.println(float2Int(999999));
System.out.println(float2Int(1000000));

}

static int float2Int(float value) {
    value = value * 100;
    return Float.valueOf(value).intValue();
}

}
输出结果:
99999800
99999904
100000000
问题来了,为毛999999输出的结果为99999904????

  • 写回答

5条回答

  • threenewbee 2017-08-31 00:49
    关注

    浮点数计算存在误差,主要有两个误差,一个是浮点本身的精度误差,特别是float,它的精度是有限的。还有一个是二进制和十进制转换的误差。

    评论

报告相同问题?

悬赏问题

  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入