lua數字轉化爲字符串(千,萬,億)

--數字過長,轉化爲帶萬,億字符串保留4位有效數
function  NumToStr(num)
    if type(num) == "string" then
        return num
    end
    if type(num) ~= "number" then
        logError("數字轉字符串錯誤")
        return num
    end
    local str = ""
    if num > 99999 and num <= 999999 then
        return tostring(ConfigNum(math.floor(num * 100 / 10000) * 0.01)).."萬"
    elseif num > 999999 and num <= 10000000 then
        return tostring(ConfigNum(math.floor(num * 10 / 10000) * 0.1)).."萬"
    elseif num > 10000000 and num <= 99999999999 then
        return tostring(ConfigNum(math.floor(num * 100 / 100000000) * 0.01)).."億"
    elseif num > 99999999999 then
        return tostring(ConfigNum(math.floor(num * 10 / 100000000) * 0.1)).."億"
    else
        return ConfigNum(num)
    end
end


function ConfigNum(num)
    t1,t2 = math.modf(num)
    if t2 == 0 then
        return t1
    end
    return num
end


--帶萬,億字符串轉化爲數字
function StrToNum(str)
    local num = tonumber(str)
    if num ~= nil then
        return num
    end
    LuaReomve(str, " ")
    num = (string.sub(str, 1, -4))
    local str2 = string.sub(str, -3, -1) 
    if str2 == "萬" then
        num = num * 10000
    elseif str2 == "億" then
        num =  num * 100000000
    else
        logError("字符串不能轉化爲數字,字符串爲:"..str)
        return 0
    end
    return num
end
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章