Geldwerte zusammenrechnen

Mc-Kani

Mitglied
Hallo nochmal Alle zusammen.
Ich hab da wiedermal ein problem...
Unzwar will ich geld zusammen zählen.
Ich hab im Datenbank ein zahl stehen 11.000 und wenn ich jetzt mit php + rechne wie z.B
11.000 + 22.00 dann bekomm ich irgentwie 33.00 raus.
Da sollte ja eigentlich 11.022 Raus kommen.
Gibt es irgentein code womit man geld zusammen rechnen kann ?
Ich hoffe ihr könnt mir weiterhelfen.
Grüße
 
Wenn du Punkte als Tausender-Trennzeichen benutz: Achtung!
Punkte sind im englischen Sprachraum gleich den deutschen Kommata, sprich
1.000 bedeutet "1 Komma 000".
Trennzeichen am besten weglassen, dann geht das auch.

11.000 + 22.00
entspricht
11,0 + 22,0 und das ergibt 33 :-)
 
mewX hat gesagt.:
Wenn du Punkte als Tausender-Trennzeichen benutz: Achtung!
Punkte sind im englischen Sprachraum gleich den deutschen Kommata, sprich
1.000 bedeutet "1 Komma 000".
Trennzeichen am besten weglassen, dann geht das auch.

11.000 + 22.00
entspricht
11,0 + 22,0 und das ergibt 33 :-)


hast auch recht wa... :D

Danke ich schau mich mal um ;):)
 
Ich hab da irgentwie einen Fetten Problem.
Ich versuch jetzt seid einigen stunden einen lösung zu finden, aber nichts hilft mir weiter.
Deswegen frag ich hier jetzt zu diesem thema nochma...
Hier mal das PHP code:
PHP:
if(isset($_POST[bieten])){
if($data[userid]==$_POST[userid]){
 echo "<script type=\"text/javascript\">alert(\"Sie Können ihre Eigene Artikel nicht ersteigern!\");</script>";
}else{
$bays = $db->query_first("SELECT * FROM bb".$n."_bays WHERE bayid='$_POST[bayid]'");
$a = $bays[preis];
$b = $_POST[euro].".".$_POST[cent];
$d = $a+$b;
echo $d;
$db->unbuffered_query("UPDATE bb".$n."_trebay SET preis='$d' WHERE bayid='$_POST[bayid]'");
echo "<script type=\"text/javascript\">alert(\"Danke für ihren Gebot!\");</script>";
}
}
Und Hier Das HTML CODE von input [form]
Code:
      <form method="POST" action="trebay.php?bayid=$_GET[bayid]">
<input maxLength="16" size="6" name="euro">,
      <select id="cent" name="cent">
      <option value=00>00</option>
      <option value=10>10</option>
      <option value=20>20</option>
      <option value=30>30</option>
      <option value=40>40</option>
      <option value=50>50</option>
      <option value=60>60</option>
      <option value=70>70</option>
      <option value=80>80</option>
      <option value=90>90</option>
      </select>
      <input border="0" name="bayid" type="hidden" value="$_GET[bayid]">
      <input border="0" name="userid" type="hidden" value="row[userid]">
      <input border="0" name="bieten" type="hidden" value="bieten">
      <input border="0" name="biet" value="biet" src="http://www.tutorials.de/forum/images/bieten.gif" type="image">
</form>
Im Datenbank Als "Preis" Steht: 100.40
Und als EURO Nehme ich: 1
Und als CENT Nehme ich: 20
Jetzt Will Ich Es versenden also Klick ich auf "bieten" Jetzt wird zu erst gerechnet.
Code:
a = 100.40
b = 1
c = 20
d = 1.20 [b und c] zusammen]
e = 100.40+1.20
// ALsoooo Ergebniss
erg = 101,60 <----------------------------- Hier ist dieses [,] sehr wichtig
danach wird ein UPDATE ausgeführt.
Alles OK Aber im Datenbank steht jetzt nicht: 101.60 sondern 101,60
Also Wenn jetzt im datenbank das zahl mit [,] komma steht. Kann ich nicht mehr weiter rechnen.
Weil php irgentwie zahlen mit [,]Komma nicht zusammenzählt, und da mein code ja sowieso mit [.] punkt aufgebaut ist wäre das schwachsin. Dan müßte sich komma und punkt immer ändern nach einem gebot.
Ich verstehe nicht warum.
Woran Kann es Liegen ? Ich rechne ja mit "." Punkten und nicht "," Komma.
Ich hoffe ihr könnt mir weiterhelfen.
Grüße
 
Zuletzt bearbeitet:
erg = 101,60 <----------------------------- Hier ist dieses [,] sehr wichtig
Wie gesagt, hier weißt du der Variable $erg den Wert 10160 zu. Das ist gewollt?
Ansonsten in "" setzten.
Und du bist dir sicher, dass der Rückgabewert der DB mit "," ist? kann ja eigentlich nicht sein, wenn du etwas speicherst wie
$new_value = 101.40 + 0.40;

Sonst poste mal das komplette Script, damit ich mir das mal live ansehen kann.
 
Das da oben ist das komplette script. :)
Code:
// Template \\
      <form method="POST" action="trebay.php?bayid=$_GET[bayid]">
      <input maxLength="16" size="6" name="euro">,
      <select id="cent" name="cent">
      <option value=00>00</option>
      <option value=10>10</option>
      <option value=20>20</option>
      <option value=30>30</option>
      <option value=40>40</option>
      <option value=50>50</option>
      <option value=60>60</option>
      <option value=70>70</option>
      <option value=80>80</option>
      <option value=90>90</option>
      </select>
      <input border="0" name="bayid" type="hidden" value="$_GET[bayid]">
      <input border="0" name="userid" type="hidden" value="$bay[userid]">
      <input border="0" name="bieten" type="hidden" value="bieten">
      <input border="0" name="biet" value="biet" src="http://www.tutorials.de/forum/images/bieten.gif" type="image">
</form>
PHP:
// PHP FILE \\
// Datenbank Select
$bay = $db->query_first("SELECT * FROM bb".$n."_trebay WHERE bayid='$_GET[bayid]'");  
// Datenbank Select Ende
// Bieten
if(isset($_POST[bieten])){ 
if($data[userid]==$_POST[userid]){ 
 echo "<script type=\"text/javascript\">alert(\"Sie Können ihre Eigene Artikel nicht ersteigern!\");</script>"; 
}else{ 
$bays = $db->query_first("SELECT * FROM bb".$n."_bays WHERE bayid='$_POST[bayid]'"); 
$a = $bays[preis]; 
$b = $_POST[euro].".".$_POST[cent]; 
$d = $a+$b; 
echo $d; 
$db->unbuffered_query("UPDATE bb".$n."_trebay SET preis='$d' WHERE bayid='$_POST[bayid]'"); 
echo "<script type=\"text/javascript\">alert(\"Danke für ihren Gebot!\");</script>"; 
} 
}  
// Bieten Ende
Ich habs wirklich net kapiert.
Ich sende es mit als [.] PUNKT ab.
Doch in datenbank wird es mit [,] Komma Abgespeichert
Die tabele "Preis" im datenbank ist mit Varchar(255) angelegt worden.
Ich habs mit anderem versucht mit Char,Binary,VarBinary u.s.w aber fuzt auch nicht. :( :rolleyes:
 
Klappt bei mir ohne Probleme (also das Einfügen von 2 Zahlen getrennt durch einen Punkt, in einem varchar(255) Datenbank Feld).

PHP5 und MySQL 5.
 
grml ich werd verrückt echt..
Ich hab jetzt "glaube" alle methoden versucht ich kriegs nicht hin. :(

Ich weiß net kann das an mein template funktion liegen ?
ich glaub weniger das es mit php zu tun hat deswegen..
Hier mal template funktion
PHP:
<?php

class tpl {
	
	var $templates   = array();
	var $templatepackid = 0;
	var $path = ".";
	
	/* constuctor */
	function tpl($templatepackid = 0, $path = ".") {
		$this->templatepackid = $templatepackid;
		$this->path = $path;
	}
	
	/* get template */
	function get($templatename, $isacp = 0) {
		// board template
		if ($isacp == 0) {
			if (!isset($this->templates[$templatename])) {
				
				// get templatepackid
				if ($this->templatepackid != 0) {
					global $wbbuserdata;
					if (!is_array($wbbuserdata['templatestructure'])) {
						$wbbuserdata['templatestructure'] = unserialize($wbbuserdata['templatestructure']);
					}
					$templatepackid = $wbbuserdata['templatestructure'][$templatename];
				}
				else $templatepackid = 0;
				
				// include template
				if (file_exists($this->path."/cache/templates/".$templatepackid."_".$templatename.".php")) {
					include($this->path."/cache/templates/".$templatepackid."_".$templatename.".php");
				}
				else $this->templates[$templatename] = "template &quot;".$templatename."&quot; doesnt exist";
			}
			
			return $this->templates[$templatename];
		}
		
		// acp template
		else {
			if (!isset($this->templates['acp_'.$templatename])) {
				if (file_exists($this->path."/cache/templates/acp/".$templatename.".php")) {
					include($this->path."/cache/templates/acp/".$templatename.".php");
				}
				else $this->templates['acp_'.$templatename] = "template &quot;".$templatename."&quot; doesnt exist";
			}
			
			return $this->templates['acp_'.$templatename];
		}
	}
	
	/* print template */
	function output($template, $isacp = 0) {
		headers::send($isacp);
		print($template);
	}
}
?>
 
Zurück