月经期间洗澡会有什么影响吗| 尉姓氏读什么的| 腋毛上有白色附着物是什么| 斗战胜佛是什么意思| 以下是什么意思| 满日是什么意思| 盐茶是什么茶| 627是什么星座| 脑梗三项是检查什么| 情窦初开什么意思| 脚疼挂什么科| 为什么老是想吐| 睡觉张嘴是什么原因| 交警中队长是什么级别| 热疖痈毒是什么意思| 六小龄童的真名叫什么| 泸州老窖什么档次| 凌波鱼是什么鱼| 枕大池增大什么意思| 脖子出汗是什么原因| 倒班是什么意思| 巧克力囊肿是什么| 左小腿麻木是什么原因| 鸭子炖什么好吃| 右手掌心有痣代表什么| 冰火是什么意思| 原字五行属什么| 血小板低会有什么症状| 空调健康模式是什么意思| 处理器是什么意思| 孕早期是什么时候| 吃什么升血小板快| 曹丕为什么不杀曹植| 怀孕小肚子疼是什么原因| 胃气上逆吃什么中成药| 什么时候测血压最准确| 腿有淤青是什么原因| 梦见鞋子是什么意思| 蝙蝠属于什么类| 毒龙什么意思| 多汗症挂什么科| 多发性脂肪瘤是什么原因造成的| 花中皇后是什么花| 心脾两虚吃什么食物补最快| 口若悬河是什么生肖| 平行班是什么意思| 看乙肝挂什么科| 拔完智齿第三天可以吃什么| 菩提子是什么树的种子| 氨气是什么味道| 穿什么颜色衣服显白| 地藏菩萨求什么最灵| 关爱是什么意思| 什么好| 潦倒是什么意思| N医学上是什么意思| 吃完饭恶心想吐是什么原因| 不然呢是什么意思| 水当当是什么意思| 睡觉老做梦是什么原因| 脚踝肿挂什么科| 等闲变却故人心却道故人心易变什么意思| 疖肿用什么药膏| gtp什么意思| 1975年属什么| 两边太阳胀痛什么原因引起的| 物业费都包括什么服务| 鸟语花香是什么生肖| 孩子说话晚是什么原因是什么情况| 恶对什么| 草字头有什么字| 血脂和血糖有什么区别| 闲暇的意思是什么| 唵嘛呢叭咪吽是什么意思| 身体内热是什么原因| 喉咙痒咳嗽吃什么药好| 9.3是什么日子| 无什么什么力| 肠化生是什么症状| 西洋参和人参有什么区别| 市级三好学生有什么用| 灵芝泡水喝有什么好处| 不善言辞是什么意思| 每天流鼻血是什么原因| 志司是什么意思| 查微量元素挂什么科| cu是什么| 氯超标是因为什么原因| 湿疹是因为什么原因引起的| 锦鲤什么意思| 打喷嚏头疼是什么原因| 家有小女是什么生肖| 大脑精神紊乱什么病| 中心性肥胖什么意思| 胃气上逆吃什么中成药| 网球肘用什么膏药效果好| 六盘水为什么叫凉都| 中文是什么意思| 16是什么意思| 属牛的生什么属相的孩子好| 唇周围长痘痘是什么原因| 姓叶的男孩取什么名字好| 火龙果对身体有什么好处| 马拉松起源与什么有关| 心脏窦性心律什么意思| 嫂夫人什么意思| 伊朗是什么民族| 眼睛痛是什么病| 人见人爱是什么意思| 肾囊肿挂什么科| 一产二产三产分别包括什么| 中国地图像什么| 大姨妈一个月来两次是什么原因| 惶恐是什么意思| 什么相马| 12月20日是什么星座| 苹果花是什么颜色| 大暑什么时候| 小酌怡情什么意思| 白配什么颜色好看| 土命缺什么| 手为什么会长水泡| 洗假牙用什么洗最好| 国花是什么花| 肌酐700多意味着什么| 十月十二日是什么星座| 因祸得福是什么意思| 咳嗽有白痰是什么原因| 肾结石吃什么药好| 菜瓜是什么瓜| 真菌感染是什么意思| 高血压挂号要挂什么科| eee是什么牌子的鞋| 什么是招风耳图片| 东莞有什么厂| 颉在姓氏里念什么| 喝什么茶降血压| nt是什么币| 脚趾麻是什么原因| 猴子捞月是什么生肖| 小便不利什么意思| 石头记为什么叫红楼梦| 什么叫执行力| 消化性溃疡吃什么药好| 金克什么| 告别是什么意思| 猫头鹰喜欢吃什么| 结婚20周年属于什么婚| 书的五行属性是什么| babyface是什么意思| 宫颈炎吃什么药| 舒肝解郁胶囊治什么病| 武汉有什么玩的| 被动什么意思| 喉咙有痰吃什么药| 91年是什么年| 孩子发烧是什么原因引起的| luna什么意思| 伤食是什么意思| 保姆是什么意思| 火克什么| c13呼气试验阳性是什么意思| 什么的猴子| 头不由自主的摇晃是什么病| 梦见鳄鱼是什么意思| 二级烫伤是什么程度| 斯里兰卡用什么货币| 疱疹吃什么药见效快| 皮肤癣用什么药最好| 农村补贴什么时候发放| 女性排卵期是什么时候| 哺乳期感冒了能吃什么药| 乌龟能吃什么水果| 梦见闹离婚是什么意思| 枸杞有什么功效| 董承和董卓什么关系| 和尚化缘的碗叫什么| 孕妇建档需要什么资料| 甘油三酯高用什么药好| 高我是什么意思| 右眼跳什么| 胆管炎吃什么药| 宫颈短是什么意思| 为什么会莫名其妙流鼻血| 青蛙用什么呼吸| 前白蛋白偏低是什么意思| 子宫肥大是什么原因| 吃苹果有什么好处和功效| strange什么意思| 忠于自己是什么意思| 颜控什么意思| 最近有什么新闻| 什么字五行属金| 黄加蓝色是什么颜色| 哈达是什么| 属羊的守护神是什么菩萨| 百合是什么植物| 睡眠不好用什么药调理| 白细胞高是什么意思| 五月十八什么星座| 欢是什么动物| 斑秃是什么原因| 4月是什么星座的| 十二指肠球炎是什么意思| 爱生闷气的人容易得什么病| 爆单是什么意思| 利福平是什么药| 什么是外包| lively是什么意思| 长脸适合什么短头发| 芋头是什么季节的| o型血与a型血生的孩子是什么血型| 梦见打蛇是什么预兆| 超声介入是什么意思| 怀孕了尿液是什么颜色| 江郎才尽是什么意思| abo是什么| 独角仙长什么样| 蜂蜜什么时候喝最佳| 肉蒲团是什么意思| 韩语欧巴是什么意思| 锋字五行属什么| 发烧喝什么水| sephora是什么牌子| 鬼针草长什么样| 人为什么要穿衣服| 一落千丈是什么生肖| 今年67岁属什么生肖| 35岁属什么的| 三个六代表什么意思| 什么水果清热去火| 女性膀胱炎是什么症状| 摩羯属于什么象星座| 感冒吃什么药| 摆渡是什么意思| 脸上长黑斑是什么原因引起的| 骗婚是什么意思| 1933年属什么生肖| 吃人参果有什么好处| 芋头是什么季节的| 煮茶叶蛋用什么茶| longines是什么牌子| 梦见鹦鹉是什么征兆| 固精是什么意思| 带状疱疹什么样子| 珍珠奶茶的珍珠是什么做的| 嗔恨是什么意思| 工字五行属什么| 夕阳什么意思| 鱼白是什么东西| 发烧嗓子疼吃什么药好| 生忌是什么意思| 脚底褪皮是什么原因| ics是什么药| 每天坚持黄瓜敷脸有什么效果| 什么是逆商| 隐血试验阴性是什么意思| 吃什么水果对皮肤好又美白| as医学上是什么意思| 产成品是什么意思| 为什么说成也萧何败也萧何| 面包虫长大后变成什么| 指滑是什么意思| 小孩为什么经常流鼻血| 百度Перейти к содержанию

【万年漏洞王】:Struts2受影响情况数据报告

Википедиядихъай
百度 座谈会上,自治区网信办、民政厅等6家单位及党外人士代表金忠杰、杨怡和新的社会阶层人士代表林军政等3位同志作了交流发言。

Для документации этого модуля может быть создана страница Модуль:Math/doc

--[[

This module provides a number of basic mathematical operations.

]]
local z = {}

-- Generate random number
function z.random( frame )
    first = tonumber(frame.args[1]) -- if it doesn't exist it's NaN, if not a number it's nil
    second = tonumber(frame.args[2])

    if first then -- if NaN or nil, will skip down to final return
        if first <= second then -- could match if both nil, but already checked that first is a number in last line
            return math.random(first, second)
        end
        return math.random(first)
    end   
    return math.random()
end

--[[
order

Determine order of magnitude of a number

Usage:
    {{#invoke: Math | order | value }}
]]
function z.order(frame)
    local input_string = (frame.args[1] or frame.args.x or '0');
    local input_number;
    
    input_number = z._cleanNumber( frame, input_string );
    if input_number == nil then
        return '<strong class="error">Ошибка формата данных: нечисловое входное значение при определении десятичной степени</strong>'
    else
        return z._order( input_number )
    end    
end
function z._order(x)
    if x == 0 then return 0 end
    return math.floor(math.log10(math.abs(x)))
end

--[[
precision

Detemines the precision of a number using the string representation

Usage:
    {{ #invoke: Math | precision | value }}
]]
function z.precision( frame )
    local input_string = (frame.args[1] or frame.args.x or '0');
    local trap_fraction = frame.args.check_fraction or false;
    local input_number;
    
    if type( trap_fraction ) == 'string' then
        trap_fraction = trap_fraction:lower();
        if trap_fraction == 'false' or trap_fraction == '0' or
                trap_fraction == 'no' or trap_fraction == '' then
            trap_fraction = false;
        else
            trap_fraction = true;
        end
    end
    
    if trap_fraction then
        local pos = string.find( input_string, '/', 1, true );
        if pos ~= nil then
            if string.find( input_string, '/', pos + 1, true ) == nil then
                local denominator = string.sub( input_string, pos+1, -1 );
                local denom_value = tonumber( denominator );
                if denom_value ~= nil then
                    return math.log10(denom_value);
                end
            end                        
        end
    end    
    
    input_number, input_string = z._cleanNumber( frame, input_string );
    if input_string == nil then
        return '<strong class="error">Ошибка формата данных: нечисловое входное значение при определении дробной части</strong>'
    else
        return z._precision( input_string )
    end    
end
function z._precision( x )    
    x = string.upper( x )

    local decimal = string.find( x, '[.,]', 1 )
    local exponent_pos = string.find( x, 'E', 1, true )
    local result = 0;
    
    if exponent_pos ~= nil then
        local exponent = string.sub( x, exponent_pos + 1 )
        x = string.sub( x, 1, exponent_pos - 1 )
        result = result - tonumber( exponent )
    end    
    
    if decimal ~= nil then
        result = result + string.len( x ) - decimal
        return result
    end
        
    local pos = string.len( x );
    while x:byte(pos) == string.byte('0') do
        pos = pos - 1
        result = result - 1
        if pos <= 0 then
            return 0
        end
    end
    
    return result
end

--[[
max

Finds the maximum argument

Usage:
    {{#invoke:Math| max | value1 | value2 | ... }}
OR
    {{#invoke:Math| max }}

When used with no arguments, it takes its input from the parent
frame.  Note, any values that do not evaluate to numbers are ignored.
]]
function z.max( frame )
    local args = frame.args;
    
    if args[1] == nil then
        local parent = frame:getParent();
        args = parent.args;
    end
    local max_value = nil;
    
    local i = 1;
    while args[i] ~= nil do
        local val = z._cleanNumber( frame, args[i] );
        if val ~= nil then
            if max_value == nil or val > max_value then
                max_value = val;
            end
        end        
        i = i + 1;
    end
  
    return max_value
end

--[[
min 

Finds the minimum argument

Usage:
    {{#invoke:Math| min | value1 | value2 | ... }}
OR
    {{#invoke:Math| min }}

When used with no arguments, it takes its input from the parent
frame.  Note, any values that do not evaluate to numbers are ignored.
]]
function z.min( frame )
    local args = frame.args;
    
    if args[1] == nil then
        local parent = frame:getParent();
        args = parent.args;
    end
    local min_value = nil;
    
    local i = 1;
    while args[i] ~= nil do
        local val = z._cleanNumber( frame, args[i] );
        if val ~= nil then
            if min_value == nil or val < min_value then
                min_value = val;
            end
        end        
        i = i + 1;
    end
  
    return min_value
end

--[[
round

Rounds a number to specified precision

Usage:
    {{#invoke:Math | round | value | precision }}
    
--]]
function z.round(frame)
    local value, precision;
    
    value = z._cleanNumber( frame, frame.args[1] or frame.args.value or 0 );
    precision = z._cleanNumber( frame, frame.args[2] or frame.args.precision or 0 );
    
    if value == nil or precision == nil then
        return '<strong class="error">Ошибка формата данных: нечисловое входное значение при округлении до целого</strong>'
    else
        return z._round( value, precision );
    end    
end
function z._round( value, precision )
    local rescale = math.pow( 10, precision );
    return math.floor( value * rescale + 0.5 ) / rescale;
end

--[[
precision_format

Rounds a number to the specified precision and formats according to rules 
originally used for {{template:Rnd}}.  Output is a string.

Usage:
{{#invoke: Math | precision_format | number | precision }}
]]

function z.precision_format(args)
	local value_string = args[1] or 0
	local precision = args[2] or 0
	return z._precision_format(value_string, precision)
end

function z._precision_format(value_string, precision)
	-- For access to Mediawiki built-in formatter.
	local lang = mw.getContentLanguage();

	local value
	value, value_string = z._cleanNumber(value_string)
	precision = z._cleanNumber(precision)

	-- Check for non-numeric input
	if value == nil or precision == nil then
		return '<strong class="error">Ошибка формата данных: нечисловое входное значение при округлении с заданной точностью</strong>'
	end

	local current_precision = z._precision(value)
	
	local order = z._order(value)

	-- Due to round-off effects it is neccesary to limit the returned precision under
	-- some circumstances because the terminal digits will be inaccurately reported.
	if order + precision >= 14 then
		orig_precision = z._precision(value_string)
		if order + orig_precision >= 14 then
			precision = 13 - order;        
		end        
	end

	-- If rounding off, truncate extra digits
	if precision < current_precision then
		value = z._round(value, precision)
		current_precision = z._precision(value)
	end    

	local formatted_num = lang:formatNum(math.abs(value))
	local sign

	-- Use proper unary minus sign rather than ASCII default
	if value < 0 then
		sign = '?'
	else
		sign = ''
	end    

	-- Handle cases requiring scientific notation
	if string.find(formatted_num, 'E', 1, true) ~= nil or math.abs(order) >= 9 then
		value = value * math.pow(10, -order)
		current_precision = current_precision + order
		precision = precision + order
		formatted_num = lang:formatNum(math.abs(value))
	else
		order = 0;        
	end
	formatted_num = sign .. formatted_num

	-- Pad with zeros, if needed    
	if current_precision < precision then
		local padding
		if current_precision <= 0 then
			if precision > 0 then
				local zero_sep = lang:formatNum(1.1)
				formatted_num = formatted_num .. zero_sep:sub(2,2)

				padding = precision
				if padding > 20 then
					padding = 20
				end

				formatted_num = formatted_num .. string.rep('0', padding)
			end            
		else                   
			padding = precision - current_precision
			if padding > 20 then
				padding = 20
			end
			formatted_num = formatted_num .. string.rep('0', padding)
		end
	end

	-- Add exponential notation, if necessary.
	if order ~= 0 then
		-- Use proper unary minus sign rather than ASCII default
		if order < 0 then
			order = '?' .. lang:formatNum(math.abs(order))
		else
			order = lang:formatNum(order)
		end    

		formatted_num = formatted_num .. '<span style="margin:0 .15em 0 .25em">×</span>10<sup>' .. order .. '</sup>'
	end

	return formatted_num
end

--[[
Helper function that interprets the input numerically.  If the 
input does not appear to be a number, attempts evaluating it as
a parser functions expression.
]]

function z._cleanNumber( frame, number_string )
    if number_string == nil or number_string:len() == 0 then
        return nil, nil;
    end    
    
    -- Attempt basic conversion
    local number = tonumber( number_string )
    
    -- If failed, attempt to evaluate input as an expression
    if number == nil then        
        local attempt = frame:callParserFunction( '#expr', number_string );
        attempt = tonumber( attempt );
        if attempt ~= nil then
            number = attempt;
            number_string = tostring( number );
        else
            number = nil;
            number_string = nil;
        end
    else
    -- String is valid but may contain padding, clean it.
        number_string = mw.text.trim(number_string)
    end
    
    return number, number_string;
end

local function roman(i)
    local w, t, val, let = {}, {
        {1000, "M"},
        {900, "CM"},
        {500, "D"},
        {400, "CD"},
        {100, "C"},
        {90, "XC"},
        {50, "L"},
        {40, "XL"},
        {10, "X"},
        {9, "IX"},
        {5, "V"},
        {4, "IV"},
        {1, "I"}
    }
    for n, v in ipairs(t) do
        val, let = unpack(v)
        w[n]=string.rep(let,i/val)
        i=i % val
    end
    return table.concat(w)
end
 
function z.Roman(frame) -- Преобразует числа от 1 до 4999999 в римские
	local function try_tonumber(a)
    	return math.floor(tonumber(a) or error('\''.. a ..'\' не является числом.'));
	end
	local str =  frame.args[1] or '';
	if str == '' then -- пустой параметр
		return str;
	end
	local r, N = pcall(try_tonumber, str); -- попытка преобразовать в число
	if r then
	    if N<1 or N>=5e6 then 
			return frame.args[2] or 'N/A' 
		end
	    local R=N%5000
	    N=(N-R)/1000
	    return (N>0 and table.concat{'<span style="text-decoration:overline;">',roman(N),'</span>'} or '')..roman(R)
	else
		return '<strong class="error">' .. N .. '</strong>'; -- вывод ошибки
	end
end

--[[
  Выводит числа прописью на русском
]]
function z.Lezgi(frame)
	local str = frame.args[1] or '';
	if str == '' then
		return '';
	end
	local number = tonumber( str, 10 )

	local lang = mw.getLanguage( 'lez' )
	
	local zero = 'эцигиз'
	local ones = { 'сад', 'кьвед', 'пуд', 'кьуд', 'вад', 'ругуд',
		'ирид', 'муьжуьд', 'к?уьд', 'ц?уд', 'ц?усад', 'ц?икьвед',
		'ц?ипуд', 'ц?укьуд', 'ц?увад', 'ц?уругуд', 'ц?ерид',
		'ц?емуьжуьд', 'ц?ек?уьд' }
	local tens = { '', 'къад', 'къанниц?уд', 'яхц?ур', 'яхц?урни ц?уд',
		'пудкъад', 'пудкъанни ц?уд', 'кьудкъад', 'кьудкъанни ц?уд' }
	local hundreds = { 'виш', 'кьве виш', 'пуд виш', 'кьуд виш', 'вад виш',
		'ругуд виш', 'ирид виш', 'муьжуьд виш', 'к?уьд виш' }

	local unitsPlural = {
		{ '', '', '' },
		{ 'агъзур', 'агъзур', 'агъзурар' },
		{ 'миллион', 'миллион', 'миллионар' },
		{ 'миллиард', 'миллиард', 'миллиардар' },
		{ 'триллион', 'триллион', 'триллионар' },
	}

	local out = ''
	local outMinus = ''
	
	if ( number < 0 ) then
		outMinus = 'минус '
		number = math.abs( number )
	end
	
	local tripletPos = 0
	while ( number > 0 ) do
		local triplet = number % 1000
		number = math.floor( number / 1000 )

		tripletPos = tripletPos + 1
		if ( tripletPos > 5 ) then
			return ''
		end

		local tripletStr = ''
		local tripletUnit = ''
		if ( triplet > 0 ) then
			local unitPlural = unitsPlural[ tripletPos ]
			tripletUnit = lang:plural( triplet, unitPlural[1], unitPlural[2], unitPlural[3] )
		end

		if ( triplet >= 100 ) then
			tripletStr = hundreds[ math.floor( triplet / 100 ) ]
			triplet = triplet % 100
		end

		if ( triplet >= 20 ) then
			tripletStr = tripletStr .. ' ' .. tens[ math.floor( triplet / 10 ) ]
			triplet = triplet % 10
		end

		if ( triplet >= 1 ) then
			tripletStr = tripletStr .. ' ' .. ones[ triplet ]
		end
		
		-- две тысячи
		if ( tripletPos == 2 ) then
			tripletStr = mw.ustring.gsub( tripletStr, 'сад', 'сад' )
			tripletStr = mw.ustring.gsub( tripletStr, 'кьвед$', 'кьвед' )
		end
		
		out = tripletStr .. ' ' .. tripletUnit .. ' ' .. out
	end

	if ( out == '' ) then
		out = zero
	end

	out = outMinus .. out
	out = mw.ustring.gsub( out, ' +', ' ' )
	out = mw.text.trim ( out )
	return out
end

return z
1114是什么星座 胃恶心想吐是什么原因 尿素氮是什么意思 udv女鞋是什么牌子 拔掉智齿有什么影响
甲亢甲减有什么症状 小腹胀痛吃什么药 葡萄糖偏低是什么意思 十年婚姻是什么婚 清一色是什么意思
经常想吐恶心是什么原因 开救护车需要什么条件 hd什么意思 付诸行动是什么意思 什么的骏马
日本古代叫什么 双绉是什么面料 李世民属相是什么生肖 转移什么意思 高血压什么症状
白带是什么意思hcv8jop6ns7r.cn 吃什么能长胖hcv9jop6ns8r.cn 金字旁加匀念什么hcv8jop8ns8r.cn 软著有什么用hcv7jop6ns2r.cn av是什么hcv7jop5ns3r.cn
身上痒是什么情况hcv7jop6ns0r.cn naco3是什么hcv9jop1ns0r.cn 学籍卡是什么样子图片hcv9jop7ns2r.cn 脑梗什么东西不能吃hcv8jop0ns7r.cn 驻马店有什么大学hcv9jop2ns6r.cn
老梗是什么病hcv8jop0ns5r.cn 继发性高血压什么意思hcv9jop3ns1r.cn 白细胞2个加号是什么意思hcv9jop7ns9r.cn 紫字五行属什么hcv8jop7ns7r.cn 喜欢紫色的女人是什么性格hcv9jop3ns4r.cn
504是什么意思hcv9jop4ns8r.cn 宝格丽手表什么档次hcv9jop4ns1r.cn 肾外肾盂是什么意思hcv9jop1ns2r.cn 欺世盗名是什么生肖hcv9jop0ns0r.cn 无水乙醇是什么hcv8jop6ns9r.cn
百度