<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="id">
	<id>https://wiki.javasatu.com/index.php?action=history&amp;feed=atom&amp;title=Modul%3AGapnum</id>
	<title>Modul:Gapnum - Riwayat revisi</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.javasatu.com/index.php?action=history&amp;feed=atom&amp;title=Modul%3AGapnum"/>
	<link rel="alternate" type="text/html" href="https://wiki.javasatu.com/index.php?title=Modul:Gapnum&amp;action=history"/>
	<updated>2026-04-03T22:41:36Z</updated>
	<subtitle>Riwayat revisi halaman ini di wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.javasatu.com/index.php?title=Modul:Gapnum&amp;diff=11304&amp;oldid=prev</id>
		<title>Adminjavasatu: 1 revisi diimpor</title>
		<link rel="alternate" type="text/html" href="https://wiki.javasatu.com/index.php?title=Modul:Gapnum&amp;diff=11304&amp;oldid=prev"/>
		<updated>2023-11-04T02:51:37Z</updated>

		<summary type="html">&lt;p&gt;1 revisi diimpor&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;id&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Revisi sebelumnya&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revisi per 4 November 2023 09.51&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;id&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Tidak ada perbedaan)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Adminjavasatu</name></author>
	</entry>
	<entry>
		<id>https://wiki.javasatu.com/index.php?title=Modul:Gapnum&amp;diff=3670&amp;oldid=prev</id>
		<title>Adminjavasatu: ←Membuat halaman berisi 'local p = {}  local getArgs  function p.main(frame)     if not getArgs then         getArgs = require('Module:Arguments').getArgs     end      local args = getArgs(frame, {wrappers = 'Template:Gapnum'})     local n = args[1]      if not n then         error('Parameter 1 is required')     elseif not tonumber(n) and not tonumber(n, 36) then -- Validates any number with base ≤ 36         error('Unable to convert &quot;' .. args[1] .. '&quot; to a number')     end      local...'</title>
		<link rel="alternate" type="text/html" href="https://wiki.javasatu.com/index.php?title=Modul:Gapnum&amp;diff=3670&amp;oldid=prev"/>
		<updated>2023-09-29T10:32:27Z</updated>

		<summary type="html">&lt;p&gt;←Membuat halaman berisi &amp;#039;local p = {}  local getArgs  function p.main(frame)     if not getArgs then         getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs     end      local args = getArgs(frame, {wrappers = &amp;#039;Template:Gapnum&amp;#039;})     local n = args[1]      if not n then         error(&amp;#039;Parameter 1 is required&amp;#039;)     elseif not tonumber(n) and not tonumber(n, 36) then -- Validates any number with base ≤ 36         error(&amp;#039;Unable to convert &amp;quot;&amp;#039; .. args[1] .. &amp;#039;&amp;quot; to a number&amp;#039;)     end      local...&amp;#039;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;id&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Revisi sebelumnya&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revisi per 29 September 2023 17.32&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;id&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Tidak ada perbedaan)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Adminjavasatu</name></author>
	</entry>
	<entry>
		<id>https://wiki.javasatu.com/index.php?title=Modul:Gapnum&amp;diff=11303&amp;oldid=prev</id>
		<title>dw&gt;JohnThorne: Modul baru</title>
		<link rel="alternate" type="text/html" href="https://wiki.javasatu.com/index.php?title=Modul:Gapnum&amp;diff=11303&amp;oldid=prev"/>
		<updated>2018-06-06T18:26:27Z</updated>

		<summary type="html">&lt;p&gt;Modul baru&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Halaman baru&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local getArgs&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
    if not getArgs then&lt;br /&gt;
        getArgs = require('Module:Arguments').getArgs&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local args = getArgs(frame, {wrappers = 'Template:Gapnum'})&lt;br /&gt;
    local n = args[1]&lt;br /&gt;
&lt;br /&gt;
    if not n then&lt;br /&gt;
        error('Parameter 1 is required')&lt;br /&gt;
    elseif not tonumber(n) and not tonumber(n, 36) then -- Validates any number with base ≤ 36&lt;br /&gt;
        error('Unable to convert &amp;quot;' .. args[1] .. '&amp;quot; to a number')&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local gap = args.gap&lt;br /&gt;
    local precision = tonumber(args.prec)&lt;br /&gt;
&lt;br /&gt;
    return p.gaps(n,{gap=gap,prec=precision})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Not named p._main so that it has a better function name when required by Module:Val&lt;br /&gt;
function p.gaps(n,tbl)&lt;br /&gt;
    local nstr = tostring(n)&lt;br /&gt;
    if not tbl then&lt;br /&gt;
        tbl = {}&lt;br /&gt;
    end&lt;br /&gt;
    local gap = tbl.gap or '.25em'&lt;br /&gt;
&lt;br /&gt;
    local int_part, frac_part = p.groups(n,tbl.prec)&lt;br /&gt;
&lt;br /&gt;
    local ret = mw.html.create('span')&lt;br /&gt;
                            :css('white-space','nowrap')&lt;br /&gt;
                            -- No gap necessary on first group&lt;br /&gt;
                            :wikitext(table.remove(int_part,1))&lt;br /&gt;
&lt;br /&gt;
    -- Build int part&lt;br /&gt;
    for _, v in ipairs(int_part) do&lt;br /&gt;
        ret:tag('span')&lt;br /&gt;
                :css('margin-left',gap)&lt;br /&gt;
                :wikitext(v)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    if frac_part then&lt;br /&gt;
        -- The first group after the decimal shouldn't have a gap&lt;br /&gt;
        ret:wikitext('.' .. table.remove(frac_part,1))&lt;br /&gt;
        -- Build frac part&lt;br /&gt;
        for _, v in ipairs(frac_part) do&lt;br /&gt;
            ret:tag('span')&lt;br /&gt;
                    :css('margin-left',gap)&lt;br /&gt;
                    :wikitext(v)&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Creates tables where each element is a different group of the number&lt;br /&gt;
function p.groups(num,precision)&lt;br /&gt;
    local nstr = tostring(num)&lt;br /&gt;
    if not precision then&lt;br /&gt;
        precision = -1&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local decimalloc = nstr:find('.', 1, true)&lt;br /&gt;
    local int_part, frac_part&lt;br /&gt;
    if decimalloc == nil then&lt;br /&gt;
        int_part = nstr&lt;br /&gt;
    else&lt;br /&gt;
        int_part = nstr:sub(1, decimalloc-1)&lt;br /&gt;
        frac_part = nstr:sub(decimalloc + 1)&lt;br /&gt;
    end&lt;br /&gt;
    -- only define ret_i as an empty table, let ret_d stay nil&lt;br /&gt;
    local ret_i,ret_d = {}&lt;br /&gt;
    -- Loop to handle most of the groupings; from right to left, so that if a group has less than 3 members, it will be the first group&lt;br /&gt;
    while int_part:len() &amp;gt; 3 do&lt;br /&gt;
        -- Insert in first spot, since we're moving backwards&lt;br /&gt;
        table.insert(ret_i,1,int_part:sub(-3))&lt;br /&gt;
        int_part = int_part:sub(1,-4)&lt;br /&gt;
    end&lt;br /&gt;
    -- handle any left over numbers&lt;br /&gt;
    if int_part:len() &amp;gt; 0 then&lt;br /&gt;
        table.insert(ret_i,1,int_part)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    if precision ~= 0 and frac_part then&lt;br /&gt;
        ret_d = {}&lt;br /&gt;
        if precision == -1 then&lt;br /&gt;
            precision = frac_part:len()&lt;br /&gt;
        end&lt;br /&gt;
        -- Reduce the length of the string if required precision is less than actual precision&lt;br /&gt;
        -- OR&lt;br /&gt;
        -- Increase it (by adding 0s) if the required precision is more than actual&lt;br /&gt;
        local offset = precision - frac_part:len()&lt;br /&gt;
        if offset &amp;lt; 0 then&lt;br /&gt;
            frac_part = frac_part:sub(1,precision)&lt;br /&gt;
        elseif offset &amp;gt; 0 then&lt;br /&gt;
            frac_part = frac_part .. string.rep('0', offset)&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        -- Allow groups of 3 or 2 (3 first)&lt;br /&gt;
        for v in string.gmatch(frac_part,'%d%d%d?') do&lt;br /&gt;
            table.insert(ret_d,v)&lt;br /&gt;
        end&lt;br /&gt;
        -- Preference for groups of 4 instead of groups of 1 at the end&lt;br /&gt;
        if #frac_part % 3 == 1 then&lt;br /&gt;
            if frac_part:len() == 1 then&lt;br /&gt;
                ret_d = {frac_part}&lt;br /&gt;
            else&lt;br /&gt;
                local last_g = ret_d[#ret_d] or ''&lt;br /&gt;
                last_g = last_g..frac_part:sub(-1)&lt;br /&gt;
                ret_d[#ret_d] = last_g&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    return ret_i,ret_d&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>dw&gt;JohnThorne</name></author>
	</entry>
</feed>