Project1

标题: 关于 增加0.01的小数点 后面出现好多零的问题 [打印本页]

作者: z2z4    时间: 2014-10-2 20:21
标题: 关于 增加0.01的小数点 后面出现好多零的问题


刚开始是 0.5的  每次增加 0.01后 到了一定的点后 会出现 0.6000000003  这样后面的 数字 如何清除掉
作者: kuerlulu    时间: 2014-10-2 20:44
1. 浮点数都是近似数, 在计算时一定会出错, 不解释
2. 请使用整数, 在描画字符串时通过简单的字符操作表示成小数即可

作者: taroxd    时间: 2014-10-2 21:14
1. 用整数存储,表示时再除以 100.0
2. 显示时对浮点数 x 调用 x.round(2) (保留两位小数,四舍五入)
作者: 喵呜喵5    时间: 2014-10-2 21:40
  1. sprintf("%.2f",$game_variables[200])
复制代码

作者: 喵呜喵5    时间: 2014-10-3 00:13
本帖最后由 喵呜喵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
复制代码

作者: chd114    时间: 2014-10-3 11:12
  1. x=1
  2. y=1
  3. x*=100
  4. x+=y
  5. x/=100.0
复制代码





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1