Lua의 몇 가지 계산 공식

1664 단어 개인 노트
--Lua- ( )
function Round(num, i)
    local mult = 10^(i or 0)
    local mult10 = mult * 10
    return math.floor((num * mult10 + 5)/10)/ mult
end
 
--Lua- ( )
function Round2(num, i)
    local tmp = math.abs(num)*(10^(i+1))
    local cal = math.abs(num)*(10^(i+1))/(10^(i+1))
    local result = 0
    if(math.floor(tmp)-math.floor(tmp/10)*10==5) then 
        if(tmp-math.floor(tmp)==0) then
            local numInt1,numInt2 = math.modf(math.floor(tmp/10))
            if(numInt1 % 2 == 0) then
                result = math.floor(tmp/10)/(10^i)
            end
        end
    end
	if(result==0) then
        result = math.floor((cal * ((10^(i or 0)) * 10) + 5)/10)/ (10^(i or 0))
	end
    return ( num>0 and result ) or (0-result) 
end
 
 
-- , null 
function Multiply(num1,num2)
    if(num1==nil) then
        return 0
    end
    if(num2==nil) then
        return 0
    end
    
    local temp=tostring(num1*num2)
    temp=tonumber(temp)
    return temp
end
 
-- 
function Divide(denominator,numerator)
    if(numerator==nil) then
        return 0
    end
    if(denominator==nil) then
        return 0
    end
    if(numerator==0) then
        return 0
    end
    return denominator/numerator
end
 
-- 
function Ceil(num)
    if(num==nil) then
        return 0
    end
 
    if (num <= 0) then
        return math.ceil(num)
    end
 
    if (math.ceil(num) == num) then
        return math.ceil(num)
    else
        return math.ceil(num) - 1
    end
end
 
-- 
function Ceil2(num)
    if(num==nil) then
        return 0
    end
    
    local t1,t2 = math.modf(num)
    return t1
end
 
 
 

좋은 웹페이지 즐겨찾기