当前位置:网站首页>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类型或许可以实现。
边栏推荐
猜你喜欢
三种素数筛总结——(朴素筛,埃氏筛,线性筛)
每日刷题(day03)——leetcode 899. 有序队列
STM32F407ZG 串口通信+固定帧头帧尾传输数据帧
LeetCode 938. Range Sum of Binary Search Trees (Simple)
51单片机RS485远程双机多机温度采集主从机多节点蜂鸣器报警
每日刷题(day02)——leetcode 622. 设计循环队列
LeetCode 162. Finding Peaks (Moderate)
Notes for RNN and Decision Tree
PyTorch之训练技巧
Common class String overview
随机推荐
51单片机智能远程遥控温控PWM电风扇系统红外遥控温度速度定时关机
LeetCode 1720. Decoding XORed Arrays (Simple)
LeetCode 162. Finding Peaks (Moderate)
Gradle学习(二)Groovy
Tensorflow 2.0 使用流程详解
样条曲线(下)之插值问题(贝塞尔曲线、B样条和一般样条曲线插值)
2022李宏毅机器学习hw1--COVID-19 Cases Prediction
mkfs.minix.c之minix_super_block.s_nzones获取解析
Unity中实现Animation Clip动画片段的倒播(该案例可以防止动画延迟)
(Flutter报错)Cannot run with sound null safety, because the following dependencies
电池级碳酸氢锂除杂质钙镁离子工艺原理
Pytorch - 07. Multidimensional characteristics of input processing
I don't like my code
探究乱码问题的本源:GBK,UTF8,UTF16,UTF8BOM,ASN1之间的关联
pytorch-06.逻辑斯蒂回归
GC0053-STM32单片机NTC热敏电阻温度采集及控制LCD1602
氨氮的有效吸附材料
二维卷积定理的验证(下,cv2.filter2D())
Unity中采用二进制存档与读档
【C语言】结构体变量学习笔记1