local function Precision(value, decimalDigits)
value = value + 0.000000000001
decimalDigits = decimalDigits or 0
local removed = 0
if decimalDigits > 0 then
removed = value % (1 / (10 ^ decimalDigits))
elseif decimalDigits < 0 then
removed = value % (10 ^ -(decimalDigits + 1))
else
return value
end
return value - removed
end
-- For Example
local value = 89.15487
local result = 0
result = Precision(value) // result = 89.15487
result = Precision(value, 1) // result = 89.1
result = Precision(value, 2) // result = 89.15
result = Precision(value,-1) // result = 89.0
result = Precision(value,-2) // result = 80.0
result = Precision(value,-3) // result = 0.0
修复整数计算错误BUG