设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

关于 增加0.01的小数点 后面出现好多零的问题

查看数: 1849 | 评论数: 5 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-10-2 20:21

正文摘要:

刚开始是 0.5的  每次增加 0.01后 到了一定的点后 会出现 0.6000000003  这样后面的 数字 如何清除掉

回复

chd114 发表于 2014-10-3 11:12:57
  1. x=1
  2. y=1
  3. x*=100
  4. x+=y
  5. x/=100.0
复制代码

点评

那个我没试,楼主自己说的没效果我才发了一个最原始的- -|||  发表于 2014-10-3 21:57
@无脑之人 认真你就输了。C神是无敌的  发表于 2014-10-3 21:50
你完全没解决问题,反而拉低了效率。说sprintf没效果的,手残吧。  发表于 2014-10-3 21:46
↓这个方法虽然很麻烦但是绝对不会和其他脚本什么的产生冲突···楼上的楼上的楼主用了就说没效果- -|||  发表于 2014-10-3 20:29
我呵呵……  发表于 2014-10-3 19:55
喵呜喵5 发表于 2014-10-3 00:13:48
本帖最后由 喵呜喵5 于 2014-10-3 00:16 编辑

@Window
(请无视上面的艾特)

  1. class Window_Test < Window_Base
  2.   def initialize
  3.     super(0, 0, Graphics.width,Graphics.height)
  4.     @text = 0.5
  5.     7.times do
  6.       p @text += 0.01
  7.     end
  8.     refresh
  9.   end
  10.   def refresh
  11.     contents.clear
  12.     draw_text(0, 0, 544,24,sprintf("%.2f",@text))
  13.     draw_text(0, 24, 544,24,@text.round(2))
  14.     draw_text(0, 48, 544,24,@text)
  15.   end  
  16. end
  17. class Scene_Title
  18.   alias m5_test_start start
  19.   def start
  20.     m5_test_start
  21.     @window = Window_Test.new
  22.   end
  23. end
复制代码

点评

变量1 = 变量2 然后 变量1 / =100.0 增加的时候 变量2 += 1 搞定  发表于 2014-10-3 09:35
无语了 还是一样  发表于 2014-10-3 09:27
喵呜喵5 发表于 2014-10-2 21:40:30
  1. sprintf("%.2f",$game_variables[200])
复制代码

点评

没用 还是会 有0.1500000000006  发表于 2014-10-2 21:58

评分

参与人数 2星屑 +180 收起 理由
无脑之人 + 30 一语中的
VIPArcher + 150 我很赞同

查看全部评分

taroxd 发表于 2014-10-2 21:14:39
1. 用整数存储,表示时再除以 100.0
2. 显示时对浮点数 x 调用 x.round(2) (保留两位小数,四舍五入)

点评

"显示时“调用  发表于 2014-10-3 06:34
$game_variables[200].round(2) += 0.01 报错 $game_variables[200].round(2) + 0.01 无效  发表于 2014-10-2 22:01
$game_variables[200].round(2) 可以得到两位小数的近似值  发表于 2014-10-2 21:34
写个例子 看看  发表于 2014-10-2 21:32
太复杂了 看不懂  发表于 2014-10-2 21:32

评分

参与人数 1星屑 +150 收起 理由
VIPArcher + 150 我很赞同

查看全部评分

kuerlulu 发表于 2014-10-2 20:44:09
1. 浮点数都是近似数, 在计算时一定会出错, 不解释
2. 请使用整数, 在描画字符串时通过简单的字符操作表示成小数即可

点评

我是这样加的 $game_variables[200] += 0.01  发表于 2014-10-2 21:30
不一定会出错的,比如 0.5 + 0.5 这种就不会  发表于 2014-10-2 21:13

评分

参与人数 2星屑 +166 收起 理由
taroxd + 66 认可答案
VIPArcher + 100 塞糖

查看全部评分

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-2-23 00:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表