php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.12.2008, 15:01  
Neuer Benutzer
 
Registriert seit: 05.12.2008
Beiträge: 7
linuxoderwindow befindet sich auf einem aufstrebenden Ast
Standard

egal, den vorstellung war nur so:

wenn ich 10000,12 eingebe. dann sollt php von 10000,12 (mit komma) in 10000.12 (mit punkt) um schreiben.

auch den kombination von 10,000.12 und 10.000,12 möchte ich in 10000.12 haben.

wenn das passiert ist sollt den php 10000.12+10000.12 machen und es sollt 20002.4 und mit hilfe number_format in 20.002,40 umschreiben, anschießen sollt echo diese wert ausgeben.

aber bis her macht mein php immer so:

10000,12 wird eingeben und es wird in 10000 eingelesen. und das ist einfach nicht richtig.
bei 10.000,12 und 10,000.12 kommen nur 10 heraus. auch wenn ich mit str_replace umschreibe macht php immer diese fehler.

wie ändere ich diese fehler am besten??
linuxoderwindow ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.12.2008, 15:05  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Na das ist doch mal eine Aussage!
Suche das von rechts gesehen erste Zeichen, das keine Ziffer ist. Das ist Dein Komma-Zeichen. Davon ausgehend ersetzt Du jetzt
- alle "," mit "" (wenn Kommazeichen ein Punkt ist)
bzw.
- alle "." mit "" und alle "," danach mit "." (wenn Kommazeichen ein Komma ist)
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 05.12.2008, 15:25  
Neuer Benutzer
 
Registriert seit: 05.12.2008
Beiträge: 7
linuxoderwindow befindet sich auf einem aufstrebenden Ast
Standard

also du meinst etwa so?

Zitat:
Zitat von linuxoderwindow Beitrag anzeigen

elseif (ereg ("[0-9],[0-9][0-9][0-9].[0-9][0-9]",$a))
{

$a=str_replace('.','',$a);

$z=number_format(($a+$a),2, ',' , '.');

echo $z;
echo "ja3";
}
das ist nur ein teil, "ein beispiel" von das was ich am anfang mit geschrieben habe.

hier kannst du genau sehen, wenn meine angabe zu diese oben genanter muster passen. dann sollt den wert um geschrieben werden.

z.B. ich gebe 10,000.12 ein. dann sollt mein php den komma weg machen und punkt sollt punkt bleiben. es sollt dann 10000.12 raus kommen. aber genau das tut mein php nicht.

da kommen immer 10 heraus. mit 10 ist den rechnung nichts zu gebrauchen.

hast du ein ideen, was das problem ist?
linuxoderwindow ist offline  
Alt 05.12.2008, 15:49  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
z.B. ich gebe 10,000.12 ein. dann sollt mein php den komma weg machen und punkt sollt punkt bleiben. es sollt dann 10000.12 raus kommen. aber genau das tut mein php nicht.
Kein Wunder. Du ersetzt ja auch den Punkt, der Dein Dezimalzeichen ist.

Nein. Viel zu kompliziert. Schau mal hier. Habe ich gerade geschrieben. Kommt auch ins Wiki:

PHP-Code:
function get_float ($value)
  {
  
// suche letztes nichtnumerisches Zeichen
  
preg_match ('#([^0-9])[0-9]+$#' $value $found); 

  
// $found[1] ist jetzt ein Trennzeichen (oder NULL)

  // Trennzeichen gefunden
  
if (false === empty ($found[1])) {

    
// mehr als ein Trennzeichen gefunden - kann kein Dezimaltrennzeichen sein
    
if (substr_count ($value $found[1]) > 1) {
      
// entferne alle Trennzeichen, Rückgabe
      
return ((float) str_replace ($found[1] , '' $value));
      }

    
// Tausender-Zeichen entfernen Dezimaltrennzeichen nach . vereinheitlichen
    
switch ($found[1])
      {
      case 
',':
        
$value str_replace ('.' '' $value);
        
$value str_replace (',' '.' $value);
        break;
  
      case 
'.':
        
$value str_replace (',' '' $value);
        break;
      }
    }
  
  return ((float) 
$value);
  } 
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--

Geändert von nikosch (05.12.2008 um 15:54 Uhr).
nikosch ist offline  
Alt 08.12.2008, 12:47  
Neuer Benutzer
 
Registriert seit: 05.12.2008
Beiträge: 7
linuxoderwindow befindet sich auf einem aufstrebenden Ast
Standard

nikosch danke viel mal, es funktioniert.

und hier für alle anderen die musster oder beispiel brauchen:

preg_match ('#([^0-9])[0-9]+$#' , $value , $found);

if (substr_count ($value , $found[1]) >= 1)
{

switch ($found[1])
{
case ',':
$a = str_replace ('.' , '' , $value );
break;

case '.':
$a = str_replace (',' , '' , $value );
break;
}
}

mit diese muster kannt man alle zahl system, für php rechnener verständlich umschreiben. ob "11.111,11" , "11.111,11" , "11111.11" oder "11111,11" schreib diese muster um in "11111.11". mit umschreiben in Europäisch um schreiben benutz ihr dann:

$xyvariable = number_format($value, 2, ',', '.');

dann kommt 11.111,11 raus.
linuxoderwindow ist offline  
 


Themen-Optionen
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Punkt und Komma in einer Variablen vertauschen tschekowski PHP Tipps 2008 1 10.09.2008 03:14
Währungszahlen mit Komma und Punkt formatieren BenTreeser PHP Tipps 2008 4 16.07.2008 18:17
Newsletter - need help TeazY PHP Tipps 2008 4 03.01.2008 19:25
Mod Rewrite Problem mit PUNKT becks123 Server, Hosting und Workstations 1 31.01.2007 21:48
Punkt in Komma umwandeln MAD King PHP Tipps 2006 14 24.04.2006 19:43
decimal : punkt zu komma konvertieren Das Devil PHP Tipps 2006 2 20.04.2006 11:39
Komma in Punkt wandeln Markus Biehl PHP Tipps 2006 5 10.02.2006 14:48
JS: Punkt in Komma umwandeln dj-digger HTML, Usability und Barrierefreiheit 6 02.02.2006 12:52
komma statt punkt in berechnung Sclot HTML, Usability und Barrierefreiheit 8 27.12.2005 19:11
php Problem - HELP PHP Tipps 2005-2 10 05.10.2005 07:58
Geburtstaggsgeschenk für meinen Dad...need Help please PHP Tipps 2005 14 09.04.2005 17:20
BIG PROBLEM, BIG HELP PLEAS ^^ PHP Tipps 2005 8 21.03.2005 10:40
need help: <prev | next> bei viewpic... denax PHP Tipps 2005 7 15.01.2005 17:32
[Erledigt] problem help! PHP-Fortgeschrittene 4 17.12.2004 15:31
[Erledigt] problem mit .htaccess (Rewrite Rule) ! plz help Server, Hosting und Workstations 2 30.08.2004 12:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
ausgehend von komma, 10.000 mit punkt oder komma, davon ausgehend komma, php dezimalzeichen rechnung, 10.000 punkt oder komma, komma dezimal punkt rechnung, php aus preis punkt und komma enfernen, php kommazeichen, php rechnungs zeichen, rechnungen punkt komma, php zeichen rechnung, deutsche rechnung punkt oder komma egal?, punkt als dezimaltrennzeichen bei rechnungen, \davon ausgehend\ komma, kommasetzung \ausgehend davon\, kommasetzung davon ausgehend, davon ausgehend und kommasetzung, kommasetzung: ausgehend davon, php preg_match dezimalzeichen, komma \davon ausgehend\

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:23 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum