Toggle navigation
首页
(current)
问答
文章
话题
商城
登录
注册
【Lua】不使用Float LOD如何求绝对值
float
LUAT
关于FLoat LOD的一些小技巧。
[上一篇文章](http://oldask.openluat.com/article/132)中提到,如果不使用Float LOD,那么是无法使用math库的。那么很多常用的计算都无法解决,不过还好都可以用某些方法变通求得正确解。 #绝对值 求绝对值相对来说很简单,只要应用如下代码即可: ```lua function math.abs(num) return num >= 0 and num or 0 - num end ``` 实际效果如何呢?我们来检验一下: ```lua > math.abs(5) 5 > math.abs(0) 0 > math.abs(-20) 20 ``` 嗯,看起来很不错哦。 #余数 如果开发者之前没有使用过Float LOD,由于项目需求需要重新它,那么所有涉及到除法的部分,都需要特殊处理才能避免数据出错。 举例说明,使用Float LOD之前,`5/3`的结果是`1`,但是使用Float LOD之后,结果就成了`1.6666666666667`,极可能造成运行错误。那么如何避免呢?推荐开发者使用如下方法: ```lua function math.div(num1, num2) return (num1 - num1 % num2) / num2 end ``` 我们来测试一下效果如何: ```lua > math.div(5, 3) 1.0 > 5/3 1.6666666666667 ```
发表于 2018-11-18 08:29
阅读 ( 3120 )
分类:
默认分类
0 推荐
打赏
收藏
你可能感兴趣的文章
10、合宙Air模块Luat开发:JSON字符串的生成与解析
2299 浏览
7、合宙Air模块Luat开发:定时器的使用方法
2137 浏览
6、合宙Air模块Luat开发:又是一种新的外设之ADC模数转换,现在我们可以采集模拟量数据了
2223 浏览
5、合宙Air模块Luat开发:GPIO输入常见的两种使用方法及其优劣性
2313 浏览
4、合宙Air模块Luat开发:用GPIO输出功能实现一个简单的LED灯闪烁
2542 浏览
3、合宙Air模块Luat开发:实现用"Printf"把文字格式化以后直接输出
2113 浏览
相关问题
float lod 下 number类型
1 回答
Air208编程
1 回答
Air202设置闹钟“AT+CALA=?”
2 回答
Air202 MQTT如何发送USERNAME PASSWORD ID ?
1 回答
Air200关于SW_DEFAULT_1.0.2_Luat_V0013_Air200_SSL.lod的问题
1 回答
Air202 响应来自AT + CUSD = 1,“* 100#”,15
1 回答
0 条评论
请先
登录
后评论
技术销售Delectate
43 篇文章
作家榜
»
技术销售Delectate
43 文章
陈夏
26 文章
国梁
24 文章
miuser
21 文章
晨旭
20 文章
朱天华
19 文章
金艺
19 文章
杨奉武
18 文章
×
发送私信
发给:
内容:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!