lua小工具-保留指定位数的小数

功能实现代码

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类型或许可以实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值