lua 实现策划需要保留的小数位数

Posted leilei-weapon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lua 实现策划需要保留的小数位数相关的知识,希望对你有一定的参考价值。

需求描述:

策划需求角色面板属性显示一定的小数位,

比如:攻击速度显示保留小数点后两位,0.01

 

保留小数实现方案:

1)字符串方式

local x = 12345.6789

string.format("%.2f", x)   -- 验证发现尾数是四舍五入,正好符合策划的需求,结果是12345.68

string.format("%.0f", x)   -- 这样也可以取整,四舍五入,结果是12346

string.format("%d", x)    -- 整数部分不会四舍五入,结果是12345

 

2)数字方式

local x = 12345.12345

print(x%0.1, x%0.01, x%0.001, x%0.0001, x - x%0.0001)

结果输出是:0.023460000...,0.00345999....., 0.00046000000...,0.00006..., 12345.1234   -- 验证发现尾数是直接截取的,并没有四舍五入效果

 

3)lua库接口:

local x = 12345.678

math.ceil(x) -- 向上取整,小数不为0整数加1,结果为12346 

如果想实现四舍五入,使用+0.5向下取整:math.floor(x+0.5)

以上是关于lua 实现策划需要保留的小数位数的主要内容,如果未能解决你的问题,请参考以下文章

sql server数据库实现保留指定位数小数的函数

javascript关于保留小数点后位数的问题

MySQL 将字符串类型的小数转换为保留位数的小数类型

c语言如何控制小数位数?

matlab 设置小数点后位数

15、pandas的设置数字格式,小数位数、百分号、千位分隔符