模板:Convert
使用Lua语言编写: |
这个模板在源代码中包含了一些非常复杂的可选参数和构造。 这个模版的结构精密,除非您确认非常了解它的用途和构造细节,并且能够修复这个修改所有可能引起的变更,否则请不要随意更动这个模板。所有实验性的步骤请在沙盒模版内,或是您的用户页内进行。使用前请参阅讨论页。 |
本模板提供一般数学及科学单位转换功能。请注意,根据格式手册,度量衡一般应采用国际单位制,因此建议仅在必要时使用本模板。
用法
编辑这个模板主要显示计量单位数值,并可将一数据自动转换成两个不同计量单位,可实现功能有数值四舍五入,计量单位的维基内部链接、计量单位简写、包括各种分隔符:括号“( )”,“or”,连字符,逗号,“to”或破折号。可以帮助用户生成正确的转换,从一个计量单位转换成另一个测量,尤其是对于更复杂的单位。转换遵循格式手册。模板生成的内容与普通文本没有什么不同。
样式包括: 距离“32米(105英尺)”和“32米或105英尺”;温度“18 °C(64 °F)”;质量 “55.0千克(121.3磅)”及“65至80千克(143至176磅)”。
选项包括: | lk=in , abbr=on , abbr=off , disp=x , disp=table 和 sortable=on (下面详细解释)。默认情况下,输出四舍五入到匹配的输入精度;备选方案包括:sigfig=3 或使用最终参数,如“|1 ”显示小数点后一位或“|-2 ”,显示百位整数等。
|
模板数据
编辑换算数学单位到另一个单位
参数 | 描述 | 类型 | 状态 | |
---|---|---|---|---|
数值 | 1 | 被换算的数值 | 数字 | 可选 |
原单位 | 2 | 被换算的(输入)单位 | 单行文本 | 可选 |
目标单位 | 3 | 换算成哪一种(输出)单位 | 单行文本 | 可选 |
小数位或后缀 | 4 | 小数点后的精准度,如果输入负数就会变成显示10的次方。(重要!不提供旧版的“precision”命名参数重定向!) | 数字 | 可选 |
单位条目链接 | lk | “on”对全部单位提供条目链接、 “in”只链接原输入单位、 “out”只链接输出单位、“off”不提供链接。(重要!新版不提供“link”重定向参数!所有“link”参数必须移除或改成“lk”!)
| 单行文本 | 可选 |
略称 | abbr | “on”将单位变成略称,大部分为拉丁字母略称、 “off”全部单位显示全名,大部分已经翻译为中文、“in”只缩略输入单位、“out”只缩略输出单位、“values”隐藏所有单位。
| 单行文本 | 可选 |
显示方式 | disp | “b”以圆括号包围输出显示、“x”使用方括号、“or”以“或”字取代括号链接输入和输出显示、“table”或“tablecen”以维基列表代码分隔和令每一格靠右或置中、“output only”只显示输出结果、“output number only”只显示输出数字不提供单位、“flip”调换输入输出位置、“unit”只显示输入单位名、输入数字的场合下视作“小数位或后缀”参数。
| 单行文本 | 可选 |
精准度 | sigfig | 输入数字改变多少位化整为零。 | 数字 | 可选 |
排序开关 | sortable | “on” 会在显示结果前生成一个隐藏的数据方便在使用了sortable class的列表中排序。 | 单行文本 | 可选 |
美制 | sp | “us”显示US,此为英文版痕迹参数,中文版不要使用。 | 单行文本 | 可选 |
形容词句式 | adj | 英文版痕迹参数,“on”显示形容词句式(连字符接着单数格单位名),“mid”增加一个新的string参数显示在输入单位后,使用“mid”和新string参数的场合下必须提供输出单位,就算是使用预设输出单位。 | 单行文本 | 可选 |
单个值
编辑{{convert|值|输入单位|输出单位|四舍五入位数|...}}
范围是两个值,或三个值 (见下面清单“范围”选项):
{{convert|值1|范围|值2 |输入单位|输出单位|四舍五入位数|...}} {{convert|值1|范围|值2|修辞|值3|输入单位|输出单位|四舍五入位数|...}}
- 数值必须是标准格式(无分隔符)。模板的输出值将被格式化,并在适当情况下显示负号。要指定用逗号,改变格式{{formatnum:9,000,500|R}}(变成 9000500)。
- 可选参数,在下面的例子中,单位缩写(abbr=on),或单词美国拼法(sp=us 例如meter,中文无效),或断字(adj=on)等。
- 此模板进行多层次的调用,分析起来很麻烦。可以借助展开模板查看工具分析。
- 模板的量纲分析能力有限。因此需要由编者确认输入和输出单位的配对及兼容。不要做如下使用:尝试桶到吨的转换(参见 {{bbl to t}})。也请注意有类似名称的单位:代码
oz
盎司质量单位,如果要标识液体盎司就不要使用这个符号。代码lb
代表质量镑,如果要使用力学单位镑力使用lbf
符号。 - 试图转换一个单元本身,例如公里转公里,将导致模板陷入死循环。
- 各单位范围内的功能没有充分验证,需要不断的试验。
- 这个文档页面与模板功能不匹配。有关详细信息,请参见讨论页和其档案。
举例说明
编辑单个值
编辑输入 | 显示效果 |
{{convert|3.21|kg|lb}} | 3.21千克(7.1英磅) |
{{convert|3.21|kg|lb|0}} | 3.21千克(7英磅) |
{{convert|10|kg|lb|disp=or}} | 10千克或22英磅 |
{{convert|6|ft|5|in|m}} | 6英尺5英寸(1.96米) |
{{convert|10|mi}} | 10英里(16千米) |
{{convert|100|mpgus}} | 100英里每美制加仑(2.4升每100千米;120英里每英制加仑) |
{{convert|120|km/h}} | 120千米每小时(75英里每小时) |
{{convert|18|°C|°F}} | 18 °C(64 °F) |
{{convert|1250|sqft|m2|lk=in|sigfig=2}} | 1,250平方英尺(120平方米) 注“lk=in”只输入单位有链接。这个例子是仅用于说明,常见的度量单位不应有链接。参见:Wp:格式手册 (链接)。 |
{{convert|20.5|m3|cuyd|lk=out|abbr=on}} | 20.5 m3(26.8 cu yd) 注“lk=in”只输出单位有链接, cu yd. |
{{convert|641|acre|ha sqmi|lk=on}} | 641英亩(259公顷;1.002平方英里) 注“lk=on”全部单位有链接。指引,共用单位没有链接,参见: Wp:格式手册 (链接)。 |
{{convert|641|acre|ha sqmi|2|lk=on}} | 641英亩(259.40公顷;1.00平方英里) 虽然640英亩等于1平方英里;四舍五入到小数点后两位641英亩等于1.00平方公里。 |
两个值
编辑- 注:不是所有单位都能使用此效果
输入 | 显示效果 |
{{convert|60|and|170|kg|lb}} | 60和170千克(130和370英磅) |
{{convert|60|to|170|kg|lb}} | 60至170千克(130至370英磅) |
{{convert|60|to(-)|170|kg|lb}} | 60至170千克(130~370英磅) |
{{convert|60|-|170|kg|lb}} | 60~170千克(130~370英磅) |
{{convert|41|to|50|F|C}} | 41至50 °F(5至10 °C) |
{{convert|41|-|50|F|K}} | 41~50 °F(278~283 K) |
{{convert|60|x|120|m|ft}} | 60乘120米(200乘390英尺) |
{{convert|60|+/-|10|m|ft}} | 60正负10米(197正负33英尺) |
{{convert|19|to|27|L|USgal}} | 19至27升(5.0至7.1美制加仑) |
{{convert|5|to|7|L|USgal|abbr=mos}} | 5升至7升(1.3至1.8 US gal) |
{{convert|4|-|9|L|USgal|abbr=off}} | 4~9升(1.1~2.4美制加仑) |
目前数值在以下范围的不提供转换:
- 部分英制单位和美国加仑为基础的单位。
- 除英里每加仑“mpg”和升每百公里“L100km”,以外的其他燃料消费的单位。
- 大型单位(e3,e6,e9).
- 由于转换太复杂,组合为基础的单位(ft&in, st&lb, lb&oz)(英/尺,吨/磅,磅/盎司)。
三个值
编辑- 注:不是所有单位都能使用此效果
输入 | 显示效果 |
{{convert|2|x|4|x|6|m|ft}} | 2乘4乘6米(6.6乘13.1乘19.7英尺) |
{{convert|2|x|4|x|6|m|ft|abbr=on}} | 2米 × 4米 × 6米(6.6英尺 × 13.1英尺 × 19.7英尺) |
{{convert|60|-|70|-|80|kg|lb}} | 60~70~80千克(130~150~180英磅) |
{{convert|60|-|70|-|80|kg|lb|abbr=on}} | 60~70~80千克(130~150~180磅) |
{{convert|60|to|80|or|85|m|ft}} | 60至80或85米(197至262或279英尺) |
{{convert|60|to|80|or|85|m|ft|abbr=on}} | 60至80或85米(197至262或279英尺) |
{{convert|41|to|50|to|60|F|C}} | 41至50至60 °F(5至10至16 °C) |
{{convert|41|to|50|to|60|F|C|abbr=on}} | 41至50至60 °F(5至10至16 °C) |
参数
编辑参数 | |
---|---|
单位添加 链接 | 附上 |lk=on 所有单位开 (默认: lk=off)附上 |lk=in 输入单位有链接附上 |lk=out 输出单位有链接(格式手册建议常见的测量单位不应该链接) |
单位英文符号, 或不 | 附上 |abbr=on 显示单位符号附上 |abbr=off 显示完所有单位整的名称,显示中文名称(中文模板默认设置)附上 |abbr=in 缩写输入单位附上 |abbr=out 缩写输出单位附上 |abbr=values 不显示单位只显示数字。所以 {{convert|6|mi|abbr=values}} 显示: 6(9.7)。
|
改变“()”显示其他分隔 | 附上 |disp=comma 显示逗号, 不显示方括号/圆括号附上 |disp=or 单位之间添加“或”(or)。默认值是:disp=b 显示方括号/圆括号。 |
改变“()”自定义分隔符 | 附上 |disp=x| (begin | end) 显示 "xx (begin yy end)" 参见:例1附上 |disp=x|; 显示 "xx; yy" 参见:例2附上 |disp=x| (same as |) 显示 "xx (same as yy)". 参见:例3例1: {{convert|9|km|mi|disp=x| [|]}} 显示为:9千米 [5.6英里] (注意前[|)空格。 例2: {{convert|9|km|mi|disp=x|;}} 显示为:9千米:5.6英里 例3: {{convert|10|km|mi|disp=x|(大约|)}} 显示为:10千米 (大约6.2英里) (使用代码时注意空格)。 |
仅显示输出 | 附上 |disp=output only 只显示结果的数量及单位附上 |disp=output number only 只显示数量注:当使用“disp=output only”,单位名义仍然显示中文abbr=off或有链接lk=on。 |
前后顺序颠倒显示数据 | 附上 |disp=flip 顺序颠倒同时显示单位单元。如, {{convert|6|km|disp=flip}} 显示“3.7英里(6千米)”。 为得到符号“mi”使用abbr=in,缩写输入单元(左侧单位)。 |
只显示单位名称 | 附上 |disp=unit 显示单位名称为符号输入不为1的数值显示完整的中文单位名。 {{convert|2|cuyd|disp=unit}}显示“立方码”。 |
显示为表格代码 | 附上 |disp=table (or |disp=tablecen)注:表中的使用,模板必须开始一个新行。 只有数字将显示,除非设置|abbr=on ,|lk=on ,|lk=in 或|lk=out 。例:here
|
四舍五入到有效数字指定的数 | 附上 |sigfig={大于零的整数} 。在摄氏或华氏温度的情况下,这是指以绝对零度的温度差异。例如,在室温下显著两个数字意味着四舍五入到几十度。
|
数值修约到5 | 附上 |disp=5 输出值将被数值修约到5的倍数。不能使用其他选项。(输出数值的个位数,二舍八入,三七做五) |
让Convert决定默认输出单位 | 跳过精确参数 (第三和第四个参数不输入) 例如:{{convert|100|km|mi}} 显示100千米(62英里)和{{convert|100|km}} 显示100千米(62英里)。
|
显示输入值分数 | {{convert|3/8|in|mm|3|abbr=on}}显示3⁄8英寸(9.525 mm)或{{convert|11+1/4|in|cm|2|abbr=on}}显示111⁄4英寸(28.58 cm)
为负数金额,使用两个减号(连字符):-11-1/4。 |
生成一个隐藏的排序键用于表格排序 | 附上 |sortable=on 生成一个隐藏的排序键,这样的排序表将正确排序。使用Template:Tp产生的第一个数值的排序键。它忽略任何附加值,即,如果使用6|ft|2|in 的值,它只会使用排序键6。这将导致数值排序中的数字顺序,即:5,10,15,而不是10,15,5。
|
仍在建设中的参数
编辑仍在建设中的参数,可能无法在所有情况下正常工作 | |
---|---|
disp=5[note 1] | 输出值将被数值修约到5的倍数。不能使用其他选项。 |
disp=tablecen[note 1] | 除了显示列和数值,与disp=table类似 |
disp=comma[note 1] | 首先看重的是括号内的内容,这两个值将用逗号分隔。 |
abbr=in | 只缩写只输出单位。 |
abbr=out | 只缩写只输出单位。 |
abbr=comma[note 1] | "缩写"(删除)逗号. |
abbr=mos | 在一定范围, 输入单位缩写重复两次。不要混淆与数字格式手册. |
disp=br | 这强制换行符分开输入和输出单位。在横向宽度受限空间表格有效果。 |
disp=sqbr | 输出显示括号“[ ]” 而不是括号“( )”。 例如:55公里[89公里]。此选项可以使用直接引号,显示在编辑括号参数。见:代入|disp=x|[|] ,上面为显示括号“[ ]”的另一种方式。
|
数值修约(四舍五入)
编辑Convert 支持四种类型四舍五入。
- 四舍五入到一个给定的精度
- 指定需要的精度用第四个未命名参数(如果“转换”参数被省略,第三无名参数;如果指定的范围,或是第五个未命名的参数;如果被指定范围和“转换”参数被省略,或第四个未命名参数;必要时要“精确”命名参数)取代。转换四舍五入采用精确位置数值Template:Frac来判断。例如,如果数值是8621,参数是'-2',其结果将是8600。如果数值是234.0283043和参数为'0',结果将是234。
- 四舍五入到一个给定的数量有效数字
- 指定所需数量的有效数字
|sigfig={大于1的整数}
如上所述。
- 默认的四舍五入
- 如果没有特殊指定,将参考输入值可比精度四舍五入(小数点后的数位或一些非重大零负之前增加一个转换,如果是0.02和0.2之间的精度加1,如果是0.2和2之间不变,如果它是2和20之间精度减1,等等),或最精确的两个有效数字。温度例外,将四舍五入转换输入值。
默认四舍五入的例子 | ||
---|---|---|
输入 | 显示为 | 说明 |
{{convert|550|ft|m|0}} | 550英尺(168米) | 近似值167.64米 |
{{convert|550|ft|m}} | 550英尺(170米) | 近似值167.64米,四舍五入到170 |
{{convert|500|ft|m|0}} | 500英尺(152米) | 近似值152.4米 |
{{convert|500|ft|m}} | 500英尺(150米) | 近似值152.4米,四舍五入到150 |
支持单位
编辑参见Module:Convert/documentation/conversion data/doc
除错
编辑如果使用本模板时因为提供错误的参数值或参数值不足等而得出类似这样的提示字眼:[convert: 需要数字],条目就会被加入隐藏分类“Category:未获Convert模块承认的单位或选项”(条目以外的名字空间不受影响),将鼠标移到提示句子上显示弹出信息框并按其指示除错。
参见
编辑- {{Convinfobox}} for use in infoboxes
- {{Bbl to t}} for converting barrel of oil to tonnes
- {{CwtQtrLb to kg}} for converting long hundred weights, quarters and pounds into kilograms
- {{Decdeg}} for converting degrees, minutes and seconds to decimal degrees
- {{HMS2Deg}} for converting hour angles, given in hours, minutes and seconds, to decimal degrees
- {{Miles-chains}} for converting miles and chains to kilometres linking "chains"
- {{Pop density}} for converting a population and area to a density
- {{Inflation}} for calculating inflation of Consumer Price Index related prices
- {{Metricate}}
- {{RailGauge}} for converting rail (track) gauges
- {{Convert/scale}} with custom formula for converting any linearly related units
- Bug 235: Auto unit conversion
上述文档嵌入自Template:Convert/doc。 (编辑 | 历史) 编者可以在本模板的沙盒 (创建 | 镜像)和测试样例 (创建)页面进行实验。 请在/doc子页面中添加分类。 本模板的子页面。 |