Ich check sprintf nicht :(

Soapp

Erfahrenes Mitglied
sprintf("%01.2f",35.56)

Das Manual sagt: % - Legt die zu formatierende Stelle fest.

Mir ist einfach nicht klar wozu das % - Zeichen da ist, bzw. was es genau macht.
Warum steht hinter dem Prozentzeichen ein 01 ?
Warum steht nach dem Komma 2 ?

Danke Profis ;-)


Soapp
 
Glaube besser kann man es auch nicht erklären als hier im PHP Handbuch.

Beispiel:
PHP:
echo sprintf("%01.2f",123.1);// gibt 123.10 aus!
 
Zuletzt bearbeitet:
Hi,

f - das Argument wird als float angesehen und eine Fließkomma-Zahl ausgegeben.
2f - zwei Zeichen nach dem Komma werden noch mitausgegeben.
% - Sagt einfach, dass an dieser Stelle was eingefügt werden soll

PHP:
echo sprintf("Hallo ich habe %01.2f Euro",123.1);// gibt "Hallo ich habe 123.10  Euro" aus

Lg.

Garlof
 
Zuletzt bearbeitet:
GarGod hat gesagt.:
Hi,

f - das Argument wird als float angesehen und eine Fließkomma-Zahl ausgegeben.
2f - zwei Zeichen nach dem Komma werden noch mitausgegeben.
% - Sagt einfach, dass an dieser Stelle was eingefügt werden soll

PHP:
echo sprintf("Hallo ich habe %01.2f Euro",123.1);// gibt "Hallo ich habe 123.10  Euro" aus

Lg.

Garlof

ich glaube, ich bin zu dumm dazu :(
Der Punkt steht doch für das Komma, oder ?
Wozu steht da nach dem % ein "01" ? Das check ich überhaupt nicht...

Danke für Erleuchtungen
 
Du könntest bei diesem Beispiel auch schreiben,
PHP:
sprintf("%.2f",123.1);
Die 01 hat wohl was mit den Vorkommastellen zu tun, ich weiss es allerdings nicht 100%...
Ich denke man könnte Sie getrost weglassen... Bin mir aber nicht sicher...
 
Ich habe auch mal eine Frage zu sprintf:

PHP:
$sql = sprintf("SELECT
                            news.ID,
                            news.Titel,
                            news.Inhalt,
                            news.Datum,
                            users.Name,
                            users.Email
                        FROM
                            news,
                            users
                        WHERE
                            news.Autor = users.ID AND
                            news.ID = '%u'", $_GET['NewsID']);
Was bewirkt hier die sprintf-Funktion?
Aus dem Manual entnehme ich, dass "%u" die get[newsid] zu ganzzahlen unsigned.
Da ich aber weß, dass die get[newsid] nur ene ganzzahl sein kann, könnte ich doch sprintf weglassen, oder?

Danke für jede Hilfe.
 
Danke für die schnelle Antwort!

Was ich jetzt noch nicht verstehe, ist folgendes:

1. Bsp:
PHP:
sprintf("%.2f",123.1);

2. Bsp:
PHP:
sprintf("sql-weisungen...blablabla...news.ID = '%u'", $_GET['NewsID']);

Im 2. Beispiel, was ich ja auch verwendet habe, steht %u ja im Bereich von sql-Anweisungen, erkennt php automatisch, dass er dann nur get[newsid] zu unsigned int formatieren soll, wenn nicht schon vorhanden?
 
Hallo,

Im 2. Beispiel, was ich ja auch verwendet habe, steht %u ja im Bereich von sql-Anweisungen, erkennt php automatisch, dass er dann nur get[newsid] zu unsigned int formatieren soll, wenn nicht schon vorhanden?
Wie meinst du das? [phpf]sprintf[/phpf] ersetzt die Umsetzungsanweisungen entsprechend der Formatierungsoptionen durch die Werte der übergebenen Parameter. Da gibt es ja nicht viel automatisch zu erkennen…

Grüße,
Matthias
 
Zurück