游戏中需要将数字转换成字符串显示,较大的数值需要转换成 万、亿,于是自己写了个简单的转换函数,方便操作。
-- 数字转文字,万、亿直接显示文字,不做四舍五入,直接截断 isSignOn时,表示大于0需要显示+ maxlen为字符串最大长度,超长的部分从尾部截断,符号部分不计入长度
-- 8234.9万 5位数字+小数点+文字 或者 6位纯数字 7位
function numToString( num, isSignOn, maxlen )
if isSignOn == nil then -- 默认有符号
isSignOn = true
end
local prefix = ""
if num > 0 and isSignOn then
prefix = "+"
end
local ext = ""
-- 开始数字转换
local numTemp = num
if numTemp > 99999999 then -- 最大:xxxx.x万
numTemp = numTemp / 100000000 -- 亿
ext = "亿"
elseif numTemp > 999999 then -- 最大:xxxxxx
numTemp = numTemp / 10000 -- 万
ext = "万"
end
local numString = tostring(numTemp)
-- 截断字符串,最长
if maxlen ~=