【问题标题】:Lua floating point calculations not precise [duplicate]Lua浮点计算不精确[重复]
【发布时间】:2022-01-22 17:56:27
【问题描述】:

我正在研究我的项目,该项目可视化正弦和余弦,但有时会发生这样的事情:Problem

我检查了很多次代码,但它只有简单的数学运算来更改时间变量:The code

如果有人知道我的代码有什么问题,请告诉我,因为我不希望这个项目被毁

PS:我昨天开始学习lua,所以我不太擅长

【问题讨论】:

  • 您的代码没有问题,这是浮点数学的本质。它不能在类型的有限大小内精确表示十进制 0.01。
  • 是的,print(0.01+0.01+0.01+0.01+0.01+0.01==0.06) 显示 false。没关系。
  • docs.python.org/3/tutorial/floatingpoint.html;其中大部分适用于所有语言
  • 感谢您的帮助!

标签: lua floating-accuracy


【解决方案1】:

对我来说是

local a = t-t%0.01

如果 t 是 1.23999,那么 a 的值应该是 1.23。

local c = 1.345678
local d = tonumber(string.format("%.2f",c))

d的值为1.35

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-24
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    • 2012-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多