 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
29.05.2004, 20:53
|
#1
|
|
TP-Member
Registriert seit: Apr 2004
|
Reguläre Ausdrücke/Muster
Hiho
Ich habe folgendes Problem mit einem meiner php-Scripte (das Ganze hat glaub Ich mit regulären Ausdrücken irgendwas zu tun *g*)  Ich befasse mich leider erst seit ungefähr 2 Monaten mit php, drum hab Ich noch relativ viele Fragen. Ich hoffe ihr könnt mir weiterhelfen:
Es wird bei mir ein Wert in der Form 'x,y' in der Datenbank gespeichert. Beispiele: 1,24546 oder 14,5684122859. Wenn der Wert ausgegeben wird, möchte Ich, dass er maximal über 2 Nachkomma-Stellen verfügt. Z.b. 1,24 oder 14,56.
Das ganze realisiere Ich über folgenden php Script:
PHP-Code:
sprintf("%01.2f", $zahl);
Doch da liegt leider schon das Problem. Ein Wert wie z.b. 1,24567 wird als 1,00 ausgegeben. Dagegen wird der Wert 1.24567 korrekterweise aus 1,24 ausgegeben.
Wie bekomme Ich nun einen Wert, der in Kommaschreibweise geschrieben ist, in einen Wert, der in Punktschreibweise geschrieben ist, sodass dieser dann auch problemlos von meinem Script vearbeitet werden kann?
Besten Dank im Vorraus 
__________________
Grüße, Chrissi
Our Dreams are Wings
|
|
|
29.05.2004, 21:01
|
#2
|
|
TP-Supporter
Registriert seit: Feb 2002
|
Hi,
also mit RegExp hat das nihct viel zu tun, aber diese Funktion sollte dir weiter helfen:
number_format()
__________________
"Rücksichtslose Kritik ist allein der freien Wissenschaft würdig, und jeder
wissenschaftliche Mann muß sie willkommen heißen, auch wenn sie auf ihn
selbst angewendet wird" (Friedrich Engels 1820 - 1895).
___________
Smilies gefällig?
Geändert von P4r4 (29.05.2004 um 21:04 Uhr).
|
|
|
29.05.2004, 21:01
|
#3
|
|
Guest
Registriert seit: Aug 2002
|
Ich würde die round()-Funktion benutzen, um die Zahl auf x Stellen nach dem Komma abzurunden.
|
|
|
29.05.2004, 21:05
|
#4
|
|
Guest
Registriert seit: Aug 2002
|
Ach ja, genau - mal Komma und mal Punkt - ein Skandal! 
|
|
|
29.05.2004, 21:07
|
#5
|
|
TP-Supporter
Registriert seit: Feb 2002
|
*nochmal durchgelesen hab*
Ich glaube er meinte was ganz anderes:
Über ein Formular gibt jemand eine Zahl vom Typ float mit einem Komma statt einem Punkt ein. Nun möchte er dieses Komma durch einen Punkt ersetzen, damit php diese Zahl als float behandeln kann.
__________________
"Rücksichtslose Kritik ist allein der freien Wissenschaft würdig, und jeder
wissenschaftliche Mann muß sie willkommen heißen, auch wenn sie auf ihn
selbst angewendet wird" (Friedrich Engels 1820 - 1895).
___________
Smilies gefällig?
|
|
|
29.05.2004, 21:38
|
#6
|
|
TP-Member
Registriert seit: Apr 2004
|
Hi,
Wow das ging ja schnell. Ich glaub Ich werde hier Stammbesucher *fg*
Um mal konkret zu werden: (is glaub Ich besser)
Bei einem Dateiupload wird die Dateigröße ermittelt.
Die liegt aber dooferweise in dem Format 'x,y' vor und nicht im Format 'x.y'.
Damit die sprintf() Funktion mit dem Wert aber was anfangen kann, muss der im "Punktformat" sein
Kann man das nicht irgendwie so machen, dass die Teile vor dem Komma und nach dem Komma abgeschnitten werden und dann ungefähr so wieder zusammengefügt werden:
PHP-Code:
<?php
$gesamt = "$Teil_vor_dem_Koma" . "." . "$Teil_nach_dem_Koma"
?>
Danke für eure Hilfe 
__________________
Grüße, Chrissi
Our Dreams are Wings
Geändert von Chrissi007 (29.05.2004 um 21:40 Uhr).
|
|
|
29.05.2004, 22:15
|
#7
|
|
TP-Special Mod
Registriert seit: Jun 2001
Ort: 8°21' O 49°1' N
|
$ausgabewert = preg_replace( "/\,/", ".", $wert )
|
|
|
29.05.2004, 23:11
|
#8
|
|
TP-Member
Registriert seit: Apr 2004
|
Kuhl super - Danke 
__________________
Grüße, Chrissi
Our Dreams are Wings
|
|
|
29.05.2004, 23:32
|
#9
|
|
Guest
Registriert seit: Aug 2002
|
Und str_replace() hätte es wohl nicht getan @michl? 
|
|
|
29.05.2004, 23:52
|
#10
|
|
TP-Special Mod
Registriert seit: Jun 2001
Ort: 8°21' O 49°1' N
|
wahrscheinlich, aber me=php-noob...
aber....:
Zitat:
|
Zitat von Strogij
Ach ja, genau - mal Komma und mal Punkt - ein Skandal! 
|
Wenn Du's weisst, warum hast Du's dann nicht schon da geposted? 
|
|
|
30.05.2004, 00:07
|
#11
|
|
Guest
Registriert seit: Aug 2002
|
Sage ich nicht. 
Ich hoffte auf eine Lösung mit sprintf() oder number_format()... evtl. auf PHP-Zahlenfunktionen.
|
|
|
30.05.2004, 00:25
|
#12
|
|
TP-Special Mod
Registriert seit: Jun 2001
Ort: 8°21' O 49°1' N
|
OK - sorry... 
|
|
|
30.05.2004, 00:44
|
#13
|
|
Guest
Registriert seit: Aug 2002
|
Dich persönlich meinte ich doch nicht! 
|
|
|
30.05.2004, 19:11
|
#14
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
Zitat:
|
Zitat von Strogij
Sage ich nicht. 
Ich hoffte auf eine Lösung mit sprintf() oder number_format()... evtl. auf PHP-Zahlenfunktionen.
|
...höchstens in Verbindung mit http://de2.php.net/manual/en/function.localeconv.php ...oder? Das hätte aber dann einen etwas grösseren Einfluss auf die Scripte
EDIT
Gruss
Jan
Geändert von Stuck Mojo (30.05.2004 um 19:13 Uhr).
|
|
|
30.05.2004, 19:38
|
#15
|
|
Guest
Registriert seit: Aug 2002
|
Nene, mir ging es nur darum, daß man sowas nicht gleich mit Regex lösen sollte. Kleine Austauschoptionen mit str_replace() oder so, es gibt glaube ich noch was speziell für einen Buchstaben... aber ist nicht so wichtig. 
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 11:38 Uhr.
|
 |