SyntaxGameServer/RCCService2018/content/LuaPackages/PurchasePrompt/addGroupDelimiters.lua

21 lines
727 B
Lua

--[[
Separates digits in a number into groups of three using the given
delimiter and ignoring anything after a decimal point
This function is not locale-aware, and will not be useful for
formatting numbers in languages that use inconsistent group sizes like
Indian numbering systems and myriad-based Chinese numbering systems
]]
local function addGroupDelimiters(numberStr, delimiter)
local delimiterReplace = string.format("%%1%s%%2", delimiter)
-- Repeat substitution until there are no more unbroken four-digit sequences
local substitutions
repeat
numberStr, substitutions = string.gsub(numberStr, "^(-?%d+)(%d%d%d)", delimiterReplace)
until substitutions == 0
return numberStr
end
return addGroupDelimiters