[PHP] - 'unwichtige' Nullen in einer SQL-Decimal entfernen

Übersicht Andere Programmiersprachen Allgemein

Neue Antwort erstellen

Eingeproggt

Betreff: [PHP] - 'unwichtige' Nullen in einer SQL-Decimal entfernen

BeitragDo, Feb 12, 2015 10:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Servus,

Durch den einen oder anderen Beitrag hier bin ich auf die Idee gekommen mal wieder mein Lieblingsforum der letzten 8 Jahre zu bemühen Wink

Meine Frage ist an sich schon hier gestellt und geklärt:
http://stackoverflow.com/quest...als-in-php

Allerdings bin ich unglücklich mit den Lösungen.
Ich habe in der Datenbank Daten vom Typ Decimal(10,6). Wenn ich sie mit "floatval" und ähnlichem caste, erhalte ich irgendwann die Darstellung àla 1.0E-5 - das sieht man natürlich nicht gerne solange man kein Mathematiker / Programmierer ist.
Nehme ich die Lösung mit rtrim($x,'0.') wird, wie in der Diskussion bemerkt, zB 100 zu 1.

Es ist mir natürlich möglich, das gewünschte Verhalten selbst umzusetzen (mit ner for-schleife, indem ich nach der Position des Komma suche etc.). Aber das erscheint mir eine "dumme Lösung". Kennt jemand eine "intelligente"?

Also zusammen gefasst, ich will folgendes Verhalten:
Code: [AUSKLAPPEN]
echo cleanNumber('125.00'); // 125
echo cleanNumber('966.70'); // 966.7
echo cleanNumber(844.011); // 844.011
echo cleanNumber(100); // 100
echo cleanNumber('0.00001'); // 0.00001


mfG, Christoph
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9
  • Zuletzt bearbeitet von Eingeproggt am Do, Feb 12, 2015 19:09, insgesamt einmal bearbeitet

DAK

BeitragDo, Feb 12, 2015 12:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Regex-Replace schon probiert?

Code: [AUSKLAPPEN]
$x = '100.10';
$x = preg_replace("/\.?0*$/",'',$x);
echo $x;
Gewinner der 6. und der 68. BlitzCodeCompo

Eingeproggt

BeitragDo, Feb 12, 2015 13:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, ist gekauft Wink
Weiß auch nicht warum ich nach so vielen Jahren noch immer so unfähig mit Regex bin Sad

Meinen gepfuschten Versuch möcht ich euch aber nicht vorenthalten:

Code: [AUSKLAPPEN]
public function formatMenge($val) {
   /*
   $pos = strpos($val,'.');
   if ($pos) {
      $a = intval($val);
      $b = substr($val, $pos);
      $b = rtrim($b,'0.');
      $val = $a.$b;
   }
   */
   //Danke DAK ;)
   //http://www.blitzforum.de/forum/viewtopic.php?p=414568#414568
   $val = preg_replace("/\.?0*$/",'',$val);
   return $val;
}


mfG, Christoph
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

DAK

BeitragDo, Feb 12, 2015 17:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Hehe^^ Kommt das so in Production?^^

Regex sind mächtig, wenn es um sowas geht^^ Tu mir den Gefallen und upvote meine Antwort auf Stackoverflow (ich heiß dort Dakkaron) Wink

Es zahlt sich echt aus, sich mit denen auseinander zu setzen.
Ich sollt glatt mal eine Regex-Implementierung für BB machen.
Gewinner der 6. und der 68. BlitzCodeCompo

Eingeproggt

BeitragDo, Feb 12, 2015 19:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Klar, das kommt so in Production Wink
Und ja, Regex in BB wäre schon was nützliches und gibts noch nicht (zumindest nicht in der deutschen Community? Hab nicht auf bb.com geschaut). Aber da sind wir wieder beim Thema "stirbt BB?", wer würde denn eine Regex-Implementierung in BB noch nutzen?

mfG, Christoph
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

DAK

BeitragSo, Feb 15, 2015 10:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast leider wohl auch wieder recht...
Gewinner der 6. und der 68. BlitzCodeCompo

Neue Antwort erstellen


Übersicht Andere Programmiersprachen Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group