请输入您要查询的百科知识:

 

词条 Module:Decimals/sandbox
释义

require('Module:No globals')

local p = {}

function p._main(n, d)

local num = tonumber(n)

if not num then

error('Unable to convert "' .. tostring(n) .. '" to a number')

end

local decimals = tonumber(d)

if not decimals then

error('Unable to convert "' .. tostring(d) .. '" to a number')

end

local maxDecimals = 14 - math.floor(math.log10(num)) -- to allow a maximum of 15 significant figures, which is the highest guaranteed correct with doubles

if decimals > maxDecimals then decimals = maxDecimals end

local mult = 10^decimals

num = math.floor(num * mult + 0.5) / mult

if decimals < 0 then

return tostring(num)

else

return string.format('%.' .. decimals .. 'f', num)

end

end

function p.main(frame)

local args, pargs = frame.args, frame:getParent().args

local function work()

return p._main(

mw.ext.ParserFunctions.expr(args[1] or pargs[1]),

mw.ext.ParserFunctions.expr(args[2] or pargs[2])

)

end

local success, result = pcall(work)

if success then

return result

end

local errtext = args.error or pargs.error

if errtext then

return errtext

end

error(result, 0)

end

return p

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/10 15:51:32