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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值