1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
ESO_NumberFormats = { }
local strArgs = { }
local str = ""
local numFmt = "d"
local width = 0
local digits = 1
local unsigned = false
if ESO_NumberFormats [ formatString ] ~= nil and ESO_NumberFormats [ formatString ] [ i ] ~= nil then
width = ESO_NumberFormats [ formatString ] [ i ] . width or width
digits = ESO_NumberFormats [ formatString ] [ i ] . digits or digits
unsigned = ESO_NumberFormats [ formatString ] [ i ] . unsigned or unsigned
end
if width > 0 then
end
if frac ~= 0 then
numFmt = "f"
elseif unsigned == true then
numFmt = "u"
end
strArgs [ i ] = currentArg
else
strArgs [ i ] = ""
end
end
end
end
-- The extra parentheses are used to discard the additional return value (which is the total number of matches)
end
do
if amount < DIGIT_GROUP_REPLACER_THRESHOLD then
end
end
if "." ~= DIGIT_GROUP_DECIMAL_REPLACER then
end
if amount >= DIGIT_GROUP_REPLACER_THRESHOLD then
-- We have a number like 10000.5, so localize the non-decimal digit group separators (e.g., 10000 becomes 10,000)
local decimalSeparatorIndex = zo_strfind ( amountString , "%" .. DIGIT_GROUP_DECIMAL_REPLACER ) -- Look for the literal separator
local decimalPartString = decimalSeparatorIndex and zo_strsub ( amountString , decimalSeparatorIndex ) or ""
local wholePartString = zo_strsub ( amountString , 1 , decimalSeparatorIndex and decimalSeparatorIndex - 1 )
end
return amountString
end
end
if argumentTable ~= nil and # argumentTable > 0 then
local numArguments = # argumentTable
-- start off the list with the first element in the array
local listString = argumentTable [ 1 ]
-- loop through the second through the second to last element adding commas in between
-- if there are only two things in the array this loop will be skipped
for i = 2 , ( numArguments - 1 ) do
end
-- add the last element of the array to the list
-- special behavior to add "and" for the last element
if numArguments >= 2 then
local finalSeparator = SI_LIST_COMMA_AND_SEPARATOR
-- if there are only two it doesn't make sense to add ", and "
if numArguments == 2 then
finalSeparator = SI_LIST_AND_SEPARATOR
end
end
return listString
else
return ""
end
end |