美文网首页
判断 lua 数字的有效性

判断 lua 数字的有效性

作者: Lupino | 来源:发表于2020-12-15 22:05 被阅读0次

在校准传感器的时候,使用不正确的校准方式, 在同一液体下进行校准。

这时候读取数字的时候出现一些奇怪的值,我们测了一整天,总共出现 4 种不可能的值 nan, -nan, inf, -inf

当出现这些不可能出现的值的时候,设备会挂掉,我们需要去过滤掉这些数字。

给他们设置一个最大值,和最小值, 我设置为 1000000000-10000000000, 传感器是不可能测出来的值,而且可以让 lua 正常运行的值。

相应的我们会对数值进行预处理,代码如下:

function normal(data)
    if data == nil then
        return nil
    end

    local str_data = tostring(data)

    if str_data == 'nan' or str_data == '-nan' then
        return nil
    end

    if str_data == 'inf' then
        return 100000000000
    end

    if str_data == '-inf' then
        return -100000000000
    end
    return data
end

经过这个预处理,我们的设备稳定下来,没有在出现挂掉的情况。

相关文章

  • 判断 lua 数字的有效性

    在校准传感器的时候,使用不正确的校准方式, 在同一液体下进行校准。 这时候读取数字的时候出现一些奇怪的值,我们测了...

  • coolshell lua教程笔记

    collshell lua教程笔记 标签(空格分隔): lua todo 变量 数字 lua的数字只有double...

  • iOS 正则匹配常用方法

    验证手机号 邮箱账号有效性判断 匹配密码格式(长度6~20位,只能是数字、大小写字母) 车牌号码判断 身份证号判断...

  • Lua api(十) lua_pushboolean/lua_p

    前言# 前两章我们总结了lua_is*系列和lua_to*系列,掌握了lua栈内值的判断和转换方法,现在我们来看看...

  • Lua 语法入门

    赋值 lua 赋值支持多个值同时赋值 table lua table 的 key 可以是数字也可以是字符串,并且 ...

  • iOS编程常用的正则表达式

    手机号 邮箱的有效性验证 网页地址的有效性 简单的身份证有效性 车型 判断是否有特殊符号 密码是否有效 车牌号的有...

  • Lua笔记--number的存储

    Lua 笔记--number的存储 Lua语言里面的数字类型是number,没有像C/C++里面那样多种多样,如果...

  • Lua -<3>- 表达式

    注:lua5.0以上版本去除了table.getn方法,可以用#tableName代替 Lua 中的表达式包括数字...

  • Lua table(表)

    table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数字、字典等。 Lua table 使用...

  • 常见正则表达式

    判断用户名——4到16位(字母,数字,下划线,减号) 判断纯数字 判断是否由数字和字母组成 判断是否由字母组成(大...

网友评论

      本文标题:判断 lua 数字的有效性

      本文链接:https://www.haomeiwen.com/subject/fcdggktx.html