当前位置:网站首页>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类型或许可以实现。
边栏推荐
猜你喜欢
随机推荐
PyTorch 之 可视化网络架构
Notes for RNN
详解 Hough 变换(下)圆形检测
STM32单片机RGB红蓝调光植物补光系统红光蓝光PWM调色调节亮度
LeetCode refers to offer 10-I. Fibonacci sequence (simple)
【C语言】结构体变量学习笔记1
三种素数筛总结——(朴素筛,埃氏筛,线性筛)
pytorch-10. Convolutional Neural Networks
【简易笔记】PyTorch官方教程简易笔记 EP3
Explain the principle of MySql index in detail
中间件-Rocktmq
STM32F407ZG PWM
I don't like my code
在Unity中让物体围绕自身的x、y、z轴进行旋转(亲测有效)
LeetCode refers to the offer 21. Adjust the order of the array so that the odd numbers are in front of the even numbers (simple)
碳酸锂、碳酸氢锂溶液除钙镁离子工艺原理
LeetCode Interview Question 17.14 Minimum k Number (Moderate)
LeetCode 2011. Variable Value After Action (Simple)
51单片机智能蓝牙APP加油站火灾预警安防防控报警监控系统MQ2DHT11
二叉树 6/20 86-90









