一个小程序,调试了一天用尽了各种办法,无果。

该主题包含 0 个回复,有 1 个参与人,并且由 584593684 的头像 5845936847 月, 1 周 前 最后一次更新。

正在查看帖子 1(共 1 个)
  • 作者
    帖子
  • #34841
    584593684 的头像
    584593684
    学员
    注册日期: 2015/04/22
    发帖数: 24
    回帖数: 38

    if(GUI.Button(Rect(120,x+45*5,100,27),”计”+” “+”算”))
    {

    var a01:float = float.Parse(str25); //1719.62
    var a02:float = float.Parse(str30); //1717.55

    var a03:float;

    a03=a01-a02; //正常是 1719.62-1717.55=2.07

    Debug.Log(a01); // 1719.62 显示正常
    Debug.Log(a02); // 1717.55 显示正常
    Debug.Log(a03); // 2.069946 显示异常!!!!应该是2.07才对!!!!!

    }

    这是一个计算电量的小程序,我粘贴了部分代码,是通过GUI.TextField获取用户输入的字符串,也就是str25和str30分别代表两个时刻的电量值(字符串类型),而我需要将两个时刻的字符串类型的数值转换为float,以便进行想减运算,当用户输入str25为“1719.62”str30为“1717.55”,点击计算按钮(GUI.Button(Rect(120,x+45*5,100,27),”计”+” “+”算”)),理论上应该输出2.07但是引擎输出的却是2.069946。这个问题搞了很长时间没有搞出来,做了很多实验,比如说,str25 str30不从GUI.TextField获取,而是变成常量就没什么问题,所以我觉得问题可能还是出现在从GUI.TextField获取字符串的这个步骤,但是DebugLog(stra01)DebugLog(a02)全部都是正常的。问一次问题不容易,请老师给我一个处理的办法啊!!!

正在查看帖子 1(共 1 个)

抱歉,回复评论必需登录。