Vorlage:Entfernungsformat
(Unterschied zwischen Versionen)
Zeile 38: | Zeile 38: | ||
}}{{#vardefine:ez2|{{#var:ez2}} km}}ez2: --{{#var:ez2}}-- | }}{{#vardefine:ez2|{{#var:ez2}} km}}ez2: --{{#var:ez2}}-- | ||
− | </noinclude><includeonly>{{#vardefine:x1|{{{1}}}}}{{#vardefine:sl|{{#pos:{{#var:x1}}| |0}}}} | + | </noinclude><includeonly>{{#vardefine:x1|{{{1}}}}}{{#vardefine:sl|{{#pos:{{#var:x1}}| |0}}}}{{#vardefine:ez|{{#sub:{{#var:x1}}|0|{{#var:sl}}}}}}{{#vardefine:po|{{#pos:{{#var:ez}}|,|0}}}} |
− | {{#vardefine:ez|{{#sub:{{#var:x1}}|0|{{#var:sl}}}}}} | + | {{#if: {{#var:po}}| {{#vardefine:slpo|{{#expr:{{#var:sl}}-{{#var:po}}}}}} | {{#vardefine:slpo|1}} }}{{#switch: {{#var:slpo}} |
− | {{#vardefine:po|{{#pos:{{#var:ez}}|,|0}}}} | + | |
− | {{#if: {{#var:po}}| {{#vardefine:slpo|{{#expr:{{#var:sl}}-{{#var:po}}}}}} | {{#vardefine:slpo|1}} }} | + | |
− | {{#switch: {{#var:slpo}} | + | |
| 1 = {{#vardefine:ez1|{{#var:ez}},00}}{{#vardefine:po|{{#var:sl}}}} | | 1 = {{#vardefine:ez1|{{#var:ez}},00}}{{#vardefine:po|{{#var:sl}}}} | ||
| 2 = {{#vardefine:ez1|{{#var:ez}}0}} | | 2 = {{#vardefine:ez1|{{#var:ez}}0}} | ||
| 3 = {{#vardefine:ez1|{{#var:ez}}}} | | 3 = {{#vardefine:ez1|{{#var:ez}}}} | ||
| {{#vardefine:ez1|{{#var:ez}}}} | | {{#vardefine:ez1|{{#var:ez}}}} | ||
− | }} | + | }}{{#switch: {{#var:po}} |
− | {{#switch: {{#var:po}} | + | |
| 1 = {{#vardefine:ez2| {{#var:ez1}}}} | | 1 = {{#vardefine:ez2| {{#var:ez1}}}} | ||
| 2 = {{#vardefine:ez2| {{#var:ez1}}}} | | 2 = {{#vardefine:ez2| {{#var:ez1}}}} |
Version vom 14. Juli 2017, 15:34 Uhr
Input: Entferung aus geodistance ( x.Y, xx.Y, xxx.Y , .Y = .xx,.x, null gefolgt von km) {{{1}}} Output: aaa.bb mit führenden Blank(s) und abschließenden Nullen)
1. km entfernen (ez) 2. Stringlänge bestimmen (sl) 3. Postition "," bestimmen (po)(kein Komma: pos = Leer -> slpo=1) 4. wenn sl-po = 1: ,00 anfügen und po neu bestimmen 2: 0 anfügen 3: nichts anfügen 5. wenn po = 1: 2 Blanks vorstellen 2: 1 Blank vorstellen 3: nichts vorstellen 6. km wieder anfügen
Input: 114,11 km 1. km entfernen (ez) und 2. Stringlänge bestimmen (sl von ez) Postion " km": 6 ist auch Stringlänge (sl von ez) ez: --114,11-- 3. Postition "," von ez bestimmen (kein Komma: pos = 0) (po) Komma-Position (po): 3 sl-po: 3 4. nullen anhängen ez1: 114,11 po: 3 5. Blanks vorsetzten ez2: --114,11 km--