模板: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子頁面中添加分類。 本模板的子頁面。 |