【问题标题】:How to determine if a number has a decimal point, or float?如何确定一个数字是否有小数点或浮点数?
【发布时间】:2021-06-27 22:30:16
【问题描述】:

下午好。我正在为开发人员使用 lua 的平台构建一个二进制模块,我通过从这个video 连续除以得到余数作为替代方案来实现这一点,但是,我在这里遇到了一个障碍来检测小数点。

对于我的二进制模块,我的目标是检测一个有小数点的数字并使用像视频这样的连续除法来索引到一个表中并循环遍历。我试图检查上限一个数字(即浮点数)是否等于四舍五入 + .5,这是可行的,但是,它不是 IMO 的长期解决方案。

for _, value in pairs({4.2, 4.1, 4.9, 5}) do --> loops through a table containing numbers.
    if math.ceil(value) == math.round(value+.5) then --> checks if a number ceils and equals?
        local b = script:SetAttribute(tostring('Remainder'), value) --> prints on first 3 elements.
    else
        print('no remainder') --> prints on last element of table, '5'.
    end
end

我也试过循环分割,不是一个好方法。

我在这里、google 或 lua 网站上搜索了一些我的问题,没有一个有我想要的,或者根本不适合我的代码库。那么,如何检查一个数字是否有小数或余数?

【问题讨论】:

    标签: lua decimal


    【解决方案1】:

    使用模数/余数除法(%)。它所做的是检查并为您提供剩余部分。例如 20%6 会给你“2”作为答案,因为 20÷6 = 3 余数 2。

    【讨论】:

    • 是的,只要value % 1
    猜你喜欢
    • 2012-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多