この文書は、テンプレート等における条件文やその他の関数を定義しているMediaWikiのParserFunctions拡張機能を説明する文書です。条件文はすべて次のような文法を持っています。{{#関数名: 引数 1 。引数 2 。引数 3...}}
なお、ParserFunctions 拡張機能以外の関数は Help:マジックワード の方に記載されていますので、あわせて参照してください。 このモジュールには現在、expr, if, ifeq, ifexist, ifexpr, switch, time, timel, rel2abs, titleparts, iferror の 11 の関数が定義されています。 文法の説明は、{{#expr: <数式> }} と書き、<> 内にはそこに書くべき内容を記しています。 使用例として {{#expr: 1 + 2 }} = 3 (1 + 2 = 3) と書き、使用例 = 出力 (理由)と記しています。 expr 関数は、数式の演算を行います。文法は、{{#expr: <数式> }} 数値として扱える文字列以外は取り扱えません。一部はFormatnumで数値に変換が可能。詳細は「mw:Help:Magic_words/ja#整形 サポートしている数値形式は、 形式例 サポートしている演算子の優先順位は、 演算子演算例 この他、以下の演算子も使用できます。 演算子演算例 真偽を求める演算子は、偽の時に 0 を、真の時に 1 を返します。 数は十進法で、小数点は "." で表します。E を用いた指数表記も使えます。内部の実装は IEEE 754 の倍精度小数です。 使用例として、{{#expr: (100 - 32) / 9 * 5 round 0 }} = 38これは、華氏温度を摂氏温度に変換し、整数に四捨五入します。 平方根を求めるときは Template:Root を利用します。 例: {{root|2}} = 1.4142135623731 if は、「もし ... ならば ... さもなくば ...」の構文です。
各関数
expr
文字列形式
数値形式
数字のみ1234567890{{#expr: 1234567890 }} = 1234567890
カンマ付き数字1,234,567,890Formatnumを使用することで可能
{{#expr: {{Formatnum:1,234,567,890|R}} }} = 1234567890
小数123.456{{#expr: 123.456 }} = 123.456
分数1 + 2/3{{#expr: 1 + 2/3 }} = 1.6666666666667
指数表記123.456e7{{#expr: 123.456e7 }} = 1234560000
指数表記123.45678e12{{#expr: 123.45678e12 }} = 1.2345678E+14
指数表記123.45678E-12{{#expr: 123.45678E-12 }} = 1.2345678E-10
指数表記1.23456×109乗算演算子とべき乗演算子を使用することで可能
{{#expr: 1.23456 * 10^9}} }} = 1234560000
演算子の優先順位
( )優先{{#expr: (30 + 7) * 7 }} = 259
+正符号{{#expr: 30 * +7 }} = 210
-負符号{{#expr: 30 * -7 }} = -210
not論理否定{{#expr: not 0 * 7 }} = 7
{{#expr: not 30 * 7 }} = 0
*乗算{{#expr: 30 * 7}} = 210
/除算(div と全く同じ){{#expr: 30 / 7}} = 4.2857142857143
div除算(/ と全く同じ){{#expr: 30 div 7}} = 4.2857142857143
mod剰余{{#expr: 30 mod 7}} = 2
+加算{{#expr: 30 + 7}} = 37
-減算{{#expr: 30 - 7}} = 23
round四捨五入
round の右に小数点以下の桁数を入れる{{#expr: 30 / 7 round 7}} = 4.2857143
=等号、左右は等しい{{#expr: 30 = 7}} = 0[正しくない]
<>不等号、左右は等しくない{{#expr: 30 <> 7}} = 1[正しい]
!=不等号、左右は等しくない、排他的論理和{{#expr: 30?!= 7}} = 1
<小なり、左は右より小さい{{#expr: 30 < 7}} = 0
>大なり、左は右より大きい{{#expr: 30 > 7}} = 1
<=左は右以下{{#expr: 30 <= 7}} = 0
>=左は右以上{{#expr: 30 >= 7}} = 1
and論理積{{#expr: 30 and 7}} = 1
or論理和{{#expr: 30 or 7}} = 1
取り扱える他の演算子
^べき乗{{#expr: 4^2}} = 16
{{#expr: 2^7}} = 128
ln自然対数{{#expr: ln2}} = 0.69314718055995
abs絶対値。符号の除去{{#expr: abs1.2}} = 1.2
{{#expr: abs-1.2}} = 1.2
trunc小数点以下切り捨て{{#expr: trunc1.5}} = 1
{{#expr: trunc-1.2}} = -1
floor床。引数以下の最大の整数{{#expr: floor 1.2}} = 1
{{#expr: floor -1.2}} = -2
ceil天井。引数より大きい最小の整数{{#expr: ceil 1.2}} = 2
{{#expr: ceil -1.2}} = -1
sin三角関数{{#expr: sin .1}} = 0.099833416646828
{{#expr: sin(30*pi/180)}} = 0.5
cos
tan
asin
acos
atan
平方根
if
Size:39 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)』
担当:undef