在lua中使用要非常谨慎,即使传进去是个数字计算也完全不一样,接受数字要先转换成字符串在进行处理
--标准四舍五入算法
function NewRound(decimal)
local decimal = math.floor((decimal*100)+0.5)*0.01
return decimal
end
--四舍六入五考虑算法
function NewRound1(decimal)
--将数字*100然后小数和整数切开
local aa,bb = math.modf(decimal*100);
--取到小数的数字
local cc=string.sub(bb,3,3);
--取到个位数组
local dd=string.sub(aa,string.len(aa),string.len(aa));
--如果个位数字是5同时判断前一位是否偶数
if cc=="5" and dd%2==0 then
print(aa*0.01)
else
--否则走标准四舍五入
print(NewRound(decimal));
end
end