当前位置:网站首页>lua小工具-保留指定位数的小数
lua小工具-保留指定位数的小数
2022-08-10 05:36:00 【yeah_you_are】
功能实现代码
math_util.lua
local _M= {
_VERSION = "0.0.1", _NAME = "math_util", class_type = ""}
-- number - 原始带小数的数据 place - 保留小数位数
function _M.decimal_truncate(number, place)
-- 计算小数,1位小数就是0.1,2位小数就是0.01
local rate = 1 / math.pow(10, place)
return number - number%rate
end
return _M
解析
这里实现保留特定位数小数功能的原理是,首先计算特定位数的小数值,然后将原始数据对特定位数小数值做取余操作得到除保留小数外的数据,然后两者相减得到结果。这里类似于数据按照指定位数截取,并没有实现四舍五入。比如:
print(decimal_truncate(12.3512, 1))
的打印结果就是12.3,而不是12.4。另外当原始数据不够指定位数长度时,也是直接返回原数据,并不能补零。比如以下代码:
local math_util = require("util.math_util") --保存以上代码的文件路径 print(math_util.decimal_truncate(13.2, 2))
打印结果就是 13.2 ,而不是 13.20 ,转换为string类型或许可以实现。
边栏推荐
- 2022李宏毅机器学习hw1--COVID-19 Cases Prediction
- STM32F407ZG 串口通信+固定帧头帧尾传输数据帧
- 屏幕后期处理之:Sobel算子实现边缘检测
- 51单片机AD590温度测量ADC0832运放2.73V减法电压变换
- 详解样条曲线(上)(包含贝塞尔曲线)
- 51单片机BH1750智能补光灯台灯光强光照恒流源LED控制系统
- 在Unity中让物体围绕自身的x、y、z轴进行旋转(亲测有效)
- 在Unity中让主摄像机发射一条射线,判断射线在游戏场景中所碰撞的游戏物体名字和标签名称(亲测有效)
- 51单片机智能蓝牙APP加油站火灾预警安防防控报警监控系统MQ2DHT11
- 在Unity中利用代码动态更改场景中的天空盒
猜你喜欢
随机推荐
Multisim软件的基本使用
STM32单片机RGB红蓝调光植物补光系统红光蓝光PWM调色调节亮度
开源游戏服务器框架NoahGameFrame(NF)客户端环境搭建(三)
Unity中实现Animation Clip动画片段的倒播(该案例可以防止动画延迟)
GC0053-STM32单片机NTC热敏电阻温度采集及控制LCD1602
pytorch-10. Convolutional Neural Networks
21天学习挑战赛--图像物体的边界
LeetCode 162. Finding Peaks (Moderate)
Notes for RNN and Decision Tree
Notes for RNN
LeetCode 938. Range Sum of Binary Search Trees (Simple)
mysql使用常见问题和解决
ASP.NET连接SQL Server的步骤
内核性能分析总结
探究乱码问题的本源:GBK,UTF8,UTF16,UTF8BOM,ASN1之间的关联
【图像识别】训练一个最最简单的AI使其识别Vtuber
LeetCode 292.Nim 游戏(简单)
过大数组导致爆栈的解决方法记录(堆栈)
LeetCode Interview Question 17.14 Minimum k Number (Moderate)
51单片机智能远程遥控温控PWM电风扇系统红外遥控温度速度定时关机