User Tools

Site Tools


vba:functions:printf:index

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
vba:functions:printf:index [10.05.2019 09:20:44]
yaslaw [sprintf() mit Formatierungen]
vba:functions:printf:index [13.02.2020 08:51:20] (current)
yaslaw
Line 1: Line 1:
 <​const>​ <​const>​
-    version=2.6.0 +    version=2.7.1 
-    vdate=09.05.2019+    vdate=13.02.2020
     fname=lib_printf.bas     fname=lib_printf.bas
     ns=%NAMESPACE%     ns=%NAMESPACE%
Line 70: Line 70:
   ***Typ** Mit einem Buchstaben wird definiert, um was für ein Datentyp es sich handelt   ***Typ** Mit einem Buchstaben wird definiert, um was für ein Datentyp es sich handelt
   ***//​Datum/​ZeitFormat//​** Wennd er Type T oder S ist, wird mit diesem Teil angegeben, was vom Datum angezeigt werden soll   ***//​Datum/​ZeitFormat//​** Wennd er Type T oder S ist, wird mit diesem Teil angegeben, was vom Datum angezeigt werden soll
 +  ***//​Maskierung//​** Wenn vor dem % ein \ steht, dann ist das %maskiert und der Pattern wird nicht geparst. Soll aber das \ als Textelement dienen, so muss dieses maskiert werden: \\%s
  
 === Typ === === Typ ===
Line 137: Line 138:
 ==== Beispiel mit Reheinfolge ==== ==== Beispiel mit Reheinfolge ====
 <code vb> <code vb>
 +'​Mittels Positionszahl und $ kann angegeben werden, welcher Parameter gemeint ist. Es beginnt bei 1
 ? sPrintF("​%2$s wiegt %1$f Kilo", 76.5, "​Hans"​) ? sPrintF("​%2$s wiegt %1$f Kilo", 76.5, "​Hans"​)
 Hans wiegt 76.5 Kilo Hans wiegt 76.5 Kilo
Line 143: Line 145:
 Heute ist Heute und Morgen ist Morgen Heute ist Heute und Morgen ist Morgen
  
 +'​Mittels < kann angegeben werden, dass derselbe Parameter wir beim Pattern davor verwendet wird
 ? sPrintF("​%s ist %<s und %s ist %<​s",​ "​Heute",​ "​Morgen"​) ? sPrintF("​%s ist %<s und %s ist %<​s",​ "​Heute",​ "​Morgen"​)
 Heute ist Heute und Morgen ist Morgen Heute ist Heute und Morgen ist Morgen
Line 149: Line 152:
 Wir haben 10, ich wiederhole. Wir haben 10 Tage Zeit 20 Millionen zu finden Wir haben 10, ich wiederhole. Wir haben 10 Tage Zeit 20 Millionen zu finden
  
 +'​Dasselbe,​ jetzt jedoch zusätzlich mit Positionsangeben
 ? sPrintF("​%s,​ %<s, %<s! %3$s, %<s, %<s! %2$s, %<s, %<s! %s!", "​Ha",​ "​Ho",​ "​Hi",​ "​Yes"​) ? sPrintF("​%s,​ %<s, %<s! %3$s, %<s, %<s! %2$s, %<s, %<s! %s!", "​Ha",​ "​Ho",​ "​Hi",​ "​Yes"​)
 Ha, Ha, Ha! Hi, Hi, Hi! Ho, Ho, Ho! Yes! Ha, Ha, Ha! Hi, Hi, Hi! Ho, Ho, Ho! Yes!
Line 166: Line 170:
 <code vb> <code vb>
 '​Strings:​ '​Strings:​
 +' ​  ​[Hochkomma][Zeichen][Länge] = String mit [Zeichen] als Prefix auf [Länge] erweitert
 +' ​  ​[Minus][Hochkomma][Zeichen][Länge] = dito, jedoch wird hinten mit [Zeichen] aufgefüllt
 +' ​  ​[Punkt][Länge] = Der String wird auf [Länge] beschnitten
 +' ​  ​[Minus][Punkt][Länge] = dito, jedoch von hinten
 debug.print sprintf("​%1$s ​  ​%1$'#​6s ​  ​%1$-'#​6s ​  ​%1$.3s ​  ​%1$-.3s ​  ​%1$q",​ "​abcd"​) debug.print sprintf("​%1$s ​  ​%1$'#​6s ​  ​%1$-'#​6s ​  ​%1$.3s ​  ​%1$-.3s ​  ​%1$q",​ "​abcd"​)
 abcd   ##​abcd ​  ​abcd## ​  ​abc ​  ​bcd ​  '​abcd'​ abcd   ##​abcd ​  ​abcd## ​  ​abc ​  ​bcd ​  '​abcd'​
Line 171: Line 179:
 '​Nummern:​ '​Nummern:​
 'Float 'Float
-debug.print sprintf("​%1$f ​  ​%1$6f ​  ​%1$-.1f ​  ​%1$.3f ​  ​%1$d",​ 123.45) +' ​  ​[Länge] = Vor dem Dezimaltrennzeichen wird mit [Länge] 0 aufgefüllt. 
-123.45 ​  ​000123.45 ​  ​+123.5 ​  ​123.450 ​  123+' ​  ​[Punkt][Länge] = ANzahl Dezimalzeichen 
 +' ​  ​[Minus] = Das Vorzeichen wird mit immer angegeben 
 +debug.print sprintf("​%1$f ​  ​%1$6f ​  ​%1$-.1f ​  ​%1$.3f ​  %1$d   ​%<​-d", 123.45) 
 +123.45 ​  ​000123.45 ​  ​+123.5 ​  ​123.450 ​  123   +123
  
 '​Integer '​Integer
vba/functions/printf/index.1557472844.txt.gz · Last modified: 10.05.2019 09:20:44 by yaslaw