因為有PTT WOW版友問到SUF是否也可以改成萬來換算,
以ShadowedUnitFrames 3.1版為例,
找到一下SUF是在 ShadowedUnitFrames/modules/tags.lua 這個檔案,
一樣用文字編輯器打開它,
在第218~228行有以下兩個函式:
function ShadowUF:FormatLargeNumber(number) if( number < 9999 ) then return < number elseif( number < 999999 ) then return string.format("%.1fk", number / 1000) elseif( number < 99999999 ) then return string.format("%.2fm", number / 1000000) end return string.format("%dm", number / 1000000) end
可以改成以下這個樣子:
function ShadowUF:FormatLargeNumber(number) if( number < 99999 ) then return number elseif( number < 999999 ) then return string.format("%.1f萬", number / 10000) elseif( number < 99999999 ) then return string.format("%d萬", number / 10000) end return string.format("%.2f億", number / 100000000) end
當數值為不到十萬時顯示完整數值,
十萬至一百以下以萬為單位並顯示一位小數,
一百萬至一億內的值顯示以萬為單位的整數,
而超過一億的值(也就是上面沒列到的條件)則可顯示兩位小數的值並以億為單位,
改完一樣儲存成無BOM的UTF-8格式。
只有一個檔案改起來比PitBull簡單多了,
另外if判斷裡數值的大小要不要改就看你要設定哪個範圍的數值要以你想要的方式顯示。
成果: