मोड्युल:Format price
मोड्युल कागजात
local p = {}local names = { "million", "billion", "trillion", "quadrillion", "quintillion", "sextillion", "septillion", "octillion"}-- two_decimals: boolean, whether to forbid a 1 d.p. result, so 2 becomes "2",-- 2.1 "2.10", and 2.123 "2.123"function p.decimal(val, length, two_decimals)local precision = math.max(0, math.ceil(length - 1 - math.log10(val)))if two_decimals and precision == 1 then precision = 2 endlocal result = ("%%.%uf"):format(precision):format(val)if two_decimals thenresult = result:gsub('%.0*$', ''):gsub('(%.[0-9][0-9][0-9]-)0+$', '%1')elseresult = result:gsub('%.?0*$', '')endresult = mw.text.split(result, '%.')result[1] = result[1]:reverse():gsub('[0-9][0-9][0-9]', '%0,'):reverse():gsub('^,','')return table.concat(result, '.')endfunction p.format(val, precision) local scale = math.floor(math.log10(val) / 3) - 1 if scale > 0 then scale = math.min(scale, #names) val = val / math.pow(10, 3 * (1 + scale)) return p.decimal(val, 3) .. '\194\160' .. names[scale] end if precision <= 0 then val = math.floor(val / math.pow(10, -precision) + 0.5) val = val * math.pow(10, -precision) end return p.decimal(val, precision + 1, true)endp[''] = function(frame)local val = tonumber(frame.args[1]) if not val or val < 0 then error('[[Module:Format price|Format price]] error: cannot parse value "' .. (frame.args[1] or '') .. '"') end return p.format(val, tonumber(frame.args[2]) or 2)endreturn p
🔥 Top keywords: मुख्य पृष्ठविशेष:Searchलुम्बिनी प्रदेशमदन भण्डारीनेपालका प्रदेशहरूबागमती प्रदेशकर्णाली प्रदेशगौतम बुद्धनेपालका स्थानीय तहहरूसमाजउखान-टुक्कापृथ्वीनारायण शाहकोशी प्रदेशनेपालमधेश प्रदेशविशेष:RecentChangesनेपाली शब्दकोशSpecial:Searchनेपालको संविधान २०७२लक्ष्मीप्रसाद देवकोटाजलवायु परिवर्तनसङ्घीयतानेपालको भूगोलनेपालको इतिहासदिगो विकासजैविक विविधतास्थानीय तहगण्डकी प्रदेशनेपालको सर्वोच्च अदालतसन्दीप लामिछानेनेपालका बैङ्कहरूको सूचीनेपालका जातिहरूजिल्ला समन्वय समितिमानव विकास सूचकाङ्कसामाजिक सञ्जालपशुपतिनाथ मन्दिरहिन्दु धर्मसीतादोस्रो विश्व युद्ध