lua千分位上加分號

@maomao發表於2018-11-08

千分號加上逗號

寫這個部落格主要是給自己做個知識積累,歡迎交流

/*
** @maomao
** thousand add comma.
*/
function formatnumberthousands(sum)
	local function checknumber(value)
		return tonumber(value) or 0
	end
	local sum = checknumber(sum)
	local newNum = ""
	repeat
		print("value of sum:", sum)
		if sum <= 1000 then
			newNum = sum .. newNum
			return newNum
		end
		newNum = "," .. sum % 1000 ..newNum
		sum = math.floor((sum - sum % 1000)/1000) --為了得到的是整數沒有.0
	until(false)
end	
/**
** 廖大大的方法
*/
function formatnumberthousands(num)
	local function checknumber(value)
		return tonumber(value) or 0
	end
	local formatted = tostring(checknumber(num))
	local k
	while true do
		formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2')
		print(formatted,k)
		if k == 0 then 
			break end
		end
	return formatted
end

相關文章