Terraria Wiki
(Kopiuj-wklej z angielskiej wiki)
 
(::sync:en:revid:1077371::)
 
(Nie pokazano 1 wersji utworzonej przez jednego użytkownika)
Linia 1: Linia 1:
 
<includeonly><!--
 
<includeonly><!--
  +
-->{{#vardefine:pc|0}}<!--
 
  +
// localization info is autoloaded from Template:Coin/l10n
-->{{#vardefine:gc|0}}<!--
 
-->{{#vardefine:sc|0}}<!--
 
-->{{#vardefine:cc|0}}<!--
 
   
 
//retrieve values:
 
//retrieve values:
-->{{#if:{{#pos:{{lc:{{{1|}}}}}|c}}|<!--
+
-->{{#if:{{#pos:{{lc:{{{1|}}}}}|c}}|<!-- API style B
-->{{#vardefine:pc|{{#dplreplace:{{{1|}}}|/(?iU)^.*([0-9]*(\.[0-9]+)?)\s*pc.*$/|\1}}}}<!--
+
-->{{#vardefine:pc| {{#rmatch:{{{1|}}}|/^.*(-?[0-9]*(\.[0-9]+)?)\s*pc.*$/iU|\1|0}} }}<!--
-->{{#ifeq:{{{1|}}}|{{#var:pc}}|{{#vardefine:pc|0}}}}<!-- no match.
+
-->{{#vardefine:gc| {{#rmatch:{{{1|}}}|/^.*(-?[0-9]*(\.[0-9]+)?)\s*gc.*$/iU|\1|0}} }}<!--
-->{{#vardefine:gc|{{#dplreplace:{{{1|}}}|/(?iU)^.*([0-9]*(\.[0-9]+)?)\s*gc.*$/|\1}}}}<!--
+
-->{{#vardefine:sc| {{#rmatch:{{{1|}}}|/^.*(-?[0-9]*(\.[0-9]+)?)\s*sc.*$/iU|\1|0}} }}<!--
-->{{#ifeq:{{{1|}}}|{{#var:gc}}|{{#vardefine:gc|0}}}}<!-- no match.
+
-->{{#vardefine:cc| {{#rmatch:{{{1|}}}|/^.*(-?[0-9]*(\.[0-9]+)?)\s*cc.*$/iU|\1|0}} }}<!--
 
-->|<!-- API style A
-->{{#vardefine:sc|{{#dplreplace:{{{1|}}}|/(?iU)^.*([0-9]*(\.[0-9]+)?)\s*sc.*$/|\1}}}}<!--
 
-->{{#ifeq:{{{1|}}}|{{#var:sc}}|{{#vardefine:sc|0}}}}<!-- no match.
 
-->{{#vardefine:cc|{{#dplreplace:{{{1|}}}|/(?iU)^.*([0-9]*(\.[0-9]+)?)\s*cc.*$/|\1}}}}<!--
 
-->{{#ifeq:{{{1|}}}|{{#var:cc}}|{{#vardefine:cc|0}}}}<!-- no match.
 
-->|<!--
 
 
-->{{#if:{{{4|}}}|<!--
 
-->{{#if:{{{4|}}}|<!--
-->{{#vardefine:pc|{{{1|}}}}}<!--
+
-->{{#vardefine:pc|{{{1|0}}}}}<!--
-->{{#vardefine:gc|{{{2|}}}}}<!--
+
-->{{#vardefine:gc|{{{2|0}}}}}<!--
-->{{#vardefine:sc|{{{3|}}}}}<!--
+
-->{{#vardefine:sc|{{{3|0}}}}}<!--
-->{{#vardefine:cc|{{{4|}}}}}<!--
+
-->{{#vardefine:cc|{{{4|0}}}}}<!--
 
-->|{{#if:{{{3|}}}|<!--
 
-->|{{#if:{{{3|}}}|<!--
-->{{#vardefine:gc|{{{1|}}}}}<!--
+
-->{{#vardefine:pc|0}}<!--
-->{{#vardefine:sc|{{{2|}}}}}<!--
+
-->{{#vardefine:gc|{{{1|0}}}}}<!--
-->{{#vardefine:cc|{{{3|}}}}}<!--
+
-->{{#vardefine:sc|{{{2|0}}}}}<!--
 
-->{{#vardefine:cc|{{{3|0}}}}}<!--
 
-->|{{#if:{{{2|}}}|<!--
 
-->|{{#if:{{{2|}}}|<!--
-->{{#vardefine:sc|{{{1|}}}}}<!--
+
-->{{#vardefine:pc|0}}<!--
-->{{#vardefine:cc|{{{2|}}}}}<!--
+
-->{{#vardefine:gc|0}}<!--
 
-->{{#vardefine:sc|{{{1|0}}}}}<!--
  +
-->{{#vardefine:cc|{{{2|0}}}}}<!--
 
-->|<!--
 
-->|<!--
-->{{#vardefine:cc|{{{1|}}}}}<!--
+
-->{{#vardefine:pc|0}}<!--
 
-->{{#vardefine:gc|0}}<!--
 
-->{{#vardefine:sc|0}}<!--
 
-->{{#vardefine:cc|{{{1|0}}}}}<!--
 
-->}}}}}}<!--
 
-->}}}}}}<!--
 
-->}}<!--
 
-->}}<!--
   
//normalize
+
//normalize and rounding
-->{{#ifexpr:{{#var:pc}}-floor{{#var:pc}}|<!--
+
-->{{#vardefine:_total|{{#vardefineecho:_value|{{#expr:{{#var:cc}}+{{#var:sc}}*100+{{#var:gc}}*10000+{{#var:pc}}*1000000 round {{{round|2}}}}}}}}}<!--
  +
-->{{#vardefine:gc|{{#expr:{{#var:gc}}+{{#var:pc}}*100-floor{{#var:pc}}*100}}}}<!--
 
-->{{#vardefine:pc|{{#expr:floor{{#var:pc}}}}}}<!--
+
-->{{#vardefine:pc|{{#expr:floor({{#var:_value}}/1000000)}}}}<!-- retrieve new pc from rounded value
 
-->{{#vardefine:_value|{{#expr:{{#var:_value}}-{{#var:pc}}*1000000}}}}<!--
-->}}<!--
 
-->{{#ifexpr:{{#var:gc}}-floor{{#var:gc}}|<!--
+
-->{{#vardefine:gc|{{#expr:floor({{#var:_value}}/10000)}}}}<!-- retrieve new gc from rounded value
-->{{#vardefine:sc|{{#expr:{{#var:sc}}+{{#var:gc}}*100-floor{{#var:gc}}*100}}}}<!--
+
-->{{#vardefine:_value|{{#expr:{{#var:_value}}-{{#var:gc}}*10000}}}}<!--
-->{{#vardefine:gc|{{#expr:floor{{#var:gc}}}}}}<!--
+
-->{{#vardefine:sc|{{#expr:floor({{#var:_value}}/100)}}}}<!-- retrieve new sc from rounded value
 
-->{{#vardefine:_value|{{#expr:{{#var:_value}}-{{#var:sc}}*100}}}}<!--
-->}}<!--
 
 
-->{{#vardefine:cc|{{#expr:{{#var:_value}} round {{{round|2}}} }}}}<!-- due to floating-point error, cc need to be rounded again.
-->{{#ifexpr:{{#var:sc}}-floor{{#var:sc}}|<!--
 
-->{{#vardefine:cc|{{#expr:{{#var:cc}}+{{#var:sc}}*100-floor{{#var:sc}}*100}}}}<!--
 
-->{{#vardefine:sc|{{#expr:floor{{#var:sc}}}}}}<!--
 
-->}}<!--
 
-->{{#ifexpr:{{#var:cc}}>=100|<!--
 
-->{{#vardefine:sc|{{#expr:{{#var:sc}}+floor({{#var:cc}}/100)}}}}<!--
 
-->{{#vardefine:cc|{{#expr:{{#var:cc}}-floor({{#var:cc}}/100)*100}}}}<!--
 
-->}}<!--
 
-->{{#ifexpr:{{#var:sc}}>=100|<!--
 
-->{{#vardefine:gc|{{#expr:{{#var:gc}}+floor({{#var:sc}}/100)}}}}<!--
 
-->{{#vardefine:sc|{{#expr:{{#var:sc}}-floor({{#var:sc}}/100)*100}}}}<!--
 
-->}}<!--
 
-->{{#ifexpr:{{#var:gc}}>=100|<!--
 
-->{{#vardefine:pc|{{#expr:{{#var:pc}}+floor({{#var:gc}}/100)}}}}<!--
 
-->{{#vardefine:gc|{{#expr:{{#var:gc}}-floor({{#var:gc}}/100)*100}}}}<!--
 
-->}}<!--
 
-->{{#vardefine:pc|{{#expr:{{#var:pc}}+0}}}}<!--
 
-->{{#vardefine:gc|{{#expr:{{#var:gc}}+0}}}}<!--
 
-->{{#vardefine:sc|{{#expr:{{#var:sc}}+0}}}}<!--
 
-->{{#vardefine:cc|{{#expr:{{#var:cc}} round {{{round|2}}}}}}}<!--
 
   
 
//render
 
//render
  +
--><span class="coin" title="<!--
-->{{#vardefine:_value|{{#expr:{{#var:cc}}+{{#var:sc}}*100+{{#var:gc}}*10000+{{#var:pc}}*1000000}}}}<span class="coins" data-info="{{#var:_value}}" title="{{#ifexpr:{{#var:pc}}|{{#var:pc}} Platinum <nowiki/>}}{{#ifexpr:{{#var:gc}}|{{#var:gc}} Gold <nowiki/>}}{{#ifexpr:{{#var:sc}}|{{#var:sc}} Silver <nowiki/>}}{{#ifexpr:{{#var:cc}}|{{#var:cc}} Copper <nowiki/>}}{{#switch:Z{{#var:pc}}{{#var:gc}}{{#var:sc}}{{#var:cc}}|Z1000|Z0100|Z0010|Z0001=Coin|#default=Coins}}"><s>{{#var:_value}}*</s><!--
 
-->{{#vardefine:sep|}}<!--
+
-->{{#ifexpr:{{#var:_total}}|<!--
  +
-->{{l10n/long|coin|format<!--
-->{{#ifexpr:{{#var:pc}}|{{#var:pc}}&thinsp;[[File:Platinum Coin.png|link=]]{{#vardefine:sep|&#32;}}}}<!--
 
  +
-->|$pc$={{#var:pc}}<!--
-->{{#ifexpr:{{#var:gc}}|{{#var:sep}}{{#var:gc}}&thinsp;[[File:Gold Coin.png|link=]]{{#vardefine:sep|&#32;}}}}<!--
 
 
-->|$gc$={{#var:gc}}<!--
-->{{#ifexpr:{{#var:sc}}|{{#var:sep}}{{#var:sc}}&thinsp;[[File:Silver Coin.png|link=]]{{#vardefine:sep|&#32;}}}}<!--
 
 
-->|$sc$={{#var:sc}}<!--
-->{{#ifexpr:{{#var:cc}}|{{#var:sep}}{{#var:cc}}&thinsp;[[File:Copper Coin.png|link=]]}}<!--
 
 
-->|$cc$={{#var:cc}}<!--
  +
-->|$coins$={{#rreplace:{{#var:_total}}|(00)+$|}}<!--
 
-->}}<!--
 
-->|<!--
  +
-->{{l10n/long|coin|nocoin}}<!--
  +
-->}}" data-sort-value="{{#var:_total}}"><!--
  +
-->{{#ifexpr:{{#var:pc}}|<span class="pc">{{formatnum:{{#var:pc}}}}</span>}}<!--
 
-->{{#ifexpr:{{#var:gc}}|<span class="gc">{{#var:gc}}</span>}}<!--
 
-->{{#ifexpr:{{#var:sc}}|<span class="sc">{{#var:sc}}</span>}}<!--
  +
-->{{#ifexpr:{{#var:cc}} or ({{#var:_total}}=0)|<span class="cc">{{formatnum:{{#var:cc}}}}</span>}}<!--
 
--></span><!--
 
--></span><!--
   
--></includeonly><noinclude>{{doc}}</noinclude>
+
--></includeonly><noinclude>{{i18n-ready}}{{doc}}</noinclude>

Aktualna wersja na dzień 15:54, 30 lis 2020

Ten szablon jest zgodny z i18n, co oznacza, że jest łatwy do zlokalizowania dla różnych języków. Więcej informacji można znaleźć w I18n i l10n dla szablonów.
Zobacz Szablon:Coin/l10n, aby znaleźć lokalizację tego szablonu.
Template-info.svg Dokumentacja Poniższa dokumentacja jest załączona do Szablon:Coin/doc. (edytuj | historia)

Ten szablon jest używany jako znormalizowany sposób wyświetlania sformatowanych wartości monet.

Sposób użycia

Istnieją 2 style API:

Styl A

{{ coin | <Platynowe monety> (opcjonalny) | <Złote monety> (opcjonalny) | <Srebrne monety> (opcjonalny) | <Miedziane monety> }}

Przykład: {{ coin | 1 | 0 | 30 }} oznacza 1 złota 30 miedzianych monet.

Styl B

{{ coin | <Platynowe monety>pc (opcjonalny) <Złote monety>gc (opcjonalny) <Srebrne monety>sc (opcjonalny) <Miedziane monety>cc (opcjonalny) }}

Przykład: {{ coin | 1gc30cc }} oznacza 1 złota 30 miedzianych monet; {{ coin | 1.25gc }} oznacza 1 złota 30 srebrnych monet.

Odstępy i wielkie litery są ignorowane.

Inne parametry

round

Cyfry, do zaokrąglenia w połączoną wartość; wartością domyślną jest 2. Może być również ujemna i może być używana ze wszystkimi stylami API.

Przykłady

Kod Wynik
{{coin|30}} 30
{{coin|1|30}} 130
{{coin|1|1}} 11
{{coin|1sc}} 1
{{coin|10gc}} 10
{{coin|10000cc}} 1
{{coin|1000000}} 1
{{coin|0}} 0
{{coin|3|1|30}} 3130
{{coin|3|0|1|30}} 3130
{{coin|0|1|0|30}} 130
{{coin|1.30gc}} 130
{{coin|12 gc 80cc}} 1280
{{coin|12cc 80gc}} 8012
{{coin|130 SC}} 130
{{coin|1.5gc130sc}} 280
{{coin|1.0130gC}} 1130
{{coin|10130pc88gc66cc}} 10 1308866
{{coin|32sc 57.8741cc}} 3257,87
{{coin|32sc 57.8741cc|round=3}} 3257,874
{{coin|32sc 57.8741cc|round=1}} 3257,9
{{coin|32sc 57.8741cc|round=0}} 3258
{{coin|32sc 57.8741cc|round=-1}} 3260
{{coin|32sc 54.9781cc|round=-1}} 3250
{{coin|32sc 57.8741cc|round=-2}} 33
{{coin|14pc 56gc 32sc 57.8741cc|round=-6}} 15
{{coin|14pc 56gc 32sc 57.8741cc|round=-7}} 10
{{coin|14pc 56gc 32sc 57.8741cc|round=-8}} 0
{{coin|54pc 56gc 32sc 57.8741cc|round=-8}} 100

Uwagi

  • Ten szablon jest przyjazny dla sortowania tabeli (wymaga data-sort-type="number" w nagłówku). Zobacz przykładową tabelę powyżej lub tutaj.
  • Jest przeznaczony tylko dla liczb dodatnich - wartości ujemne, ponieważ dane wejściowe mogą prowadzić do nieoczekiwanych wyników.