Zurück   klamm-Forum > Virtual World > Programmierung

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27.10.2011, 21:56:49   #1 (permalink)
Erfahrener Benutzer

ID: 66751
Lose-Remote

Reg: 24.11.2006
Beiträge: 239
King_Markus
Standard bcdiv/bcmul

Hallo,

habe ein problem mit bcdiv und bcmul. Suche schon seit ca. 1,5 stunden den fehler finde ihn aber nicht.

PHP-Code:
1:
2:
3:
4:
5:
                        echo "<br>".$kampagne[$i]['mwst_ende']." mwst ".$kampagne[$i]['vk']."<br>";
                        
                        
$kampagne[$i]['vk']=bcmul(bcdiv($kampagne[$i]['vk'],$kampagne[$i]['mwst_ende']+100,8),100,8);
                        
                        echo 
"".$kampagne[$i]['mwst_ende']." mwst ".$kampagne[$i]['vk']."<br>"
ausgabe sieht wie folgt aus:
Code:
1:
2:
19 mwst 3.4 19 mwst 0.00000000
ich weiß nicht warum ich unten einen 0 wert als ergebnis erhalte.
bitte helft mir.

mfg
markus
King_Markus ist offline   Mit Zitat antworten
Gesponsorte Links
Alt 28.10.2011, 05:59:00   #2 (permalink)
Erfahrener Benutzer

ID: 129556
Lose-Remote

Reg: 28.02.2010
Beiträge: 439
tobomator tobomator tobomator tobomator tobomator tobomator
Standard

Ich glaube, Du bist des Lesens mächtig.
In der Beschreibung kann man folgendes nachlesen (zitat aus dem englischen)...
Oh ich hoffe Du bist auch dem Englischen mächtig:

"string bcdiv ( string $left_operand , string $right_operand [, int $scale ] )"

"string bcmul ( string $left_operand , string $right_operand [, int $scale ] )"

Wenn Du jetzt noch Fragen hast, frag ich mich, was Du daran nicht verstehen kannst...
tobomator ist offline   Mit Zitat antworten
Alt 28.10.2011, 06:11:43   #3 (permalink)
be forever curious
Benutzerbild von tleilax

ID: 27936
Lose-Remote

Reg: 20.04.2006
Beiträge: 2.259
tleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehen
Standard

Hm, seltsam. Ich habe den Code zum Testen folgendermassen angepasst:
PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
<?php
$kampagne 
= array(array('mwst_ende' => 19'vk' => 3.4));
$i 0;

echo 
"<br>".$kampagne[$i]['mwst_ende']." mwst ".$kampagne[$i]['vk']."<br>";

$kampagne[$i]['vk']=bcmul(bcdiv($kampagne[$i]['vk'],$kampagne[$i]['mwst_ende']+100,8),100,8);

echo 
"".$kampagne[$i]['mwst_ende']." mwst ".$kampagne[$i]['vk']."<br>";
Und erhalte folgendes Ergebnis:
Code:
1:
2:
19 mwst 3.4 19 mwst 2.85714200
Also wie gewünscht.

Funkt da vielleicht irgendein anderer Code dazwischen?

@tobomator: Falls Du nicht helfen willst, lass es bitte einfach sein. Diese affige überhebliche Art bringt doch keinen weiter...
.lange tage und angenehme nächte, tlx
:.whatthemovie.com (Screenshots raten) | PHP ExportForce-Klasse
tleilax ist offline   Mit Zitat antworten
Alt 28.10.2011, 06:34:38   #4 (permalink)
Erfahrener Benutzer

ID: 66751
Lose-Remote

Reg: 24.11.2006
Beiträge: 239
King_Markus
Standard

ein anderer code kann nicht dazwischen faxen. wenn ich nur mit / und * rechne geht es! nur mit bcdiv und bcmul funktioniert es nicht!
King_Markus ist offline Threadstarter   Mit Zitat antworten
Alt 28.10.2011, 06:46:58   #5 (permalink)
bekämpft die Mächte des Bösen
Benutzerbild von theHacker

ID: 69505
Lose-Remote

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über AIM schicken theHacker eine Nachricht über MSN schicken theHacker eine Nachricht über Yahoo! schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 20.468
theHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes Ansehen
Standard

Funktioniert auch bei mir einwandfrei.

Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
C:\Users\theHacker>php <?php $kampagne = array(array('mwst_ende' => 19, 'vk' => 3.4)); $i = 0; echo "<br>".$kampagne[$i]['mwst_ende']." mwst ".$kampagne[$i]['vk']."<br>"; $kampagne[$i]['vk']=bcmul(bcdiv($kampagne[$i]['vk'],$kampagne[$i]['mwst_ende']+1 00,8),100,8); echo "".$kampagne[$i]['mwst_ende']." mwst ".$kampagne[$i]['vk']."<br>"; ?> ^Z <br>19 mwst 3.4<br>19 mwst 2.85714200<br> C:\Users\theHacker>php -v PHP 5.3.6 (cli) (built: Mar 17 2011 10:37:07) Copyright (c) 1997-2011 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies C:\Users\theHacker>php -i | findstr bcmath bcmath bcmath.scale => 0 => 0
Probier mal, Multiplikation und Division aufzuteilen, ob bei dir nur eine der beiden Operationen spinnt.
theHacker ist gerade online   Mit Zitat antworten
Alt 28.10.2011, 09:30:14   #6 (permalink)
Erfahrener Benutzer

ID: 129556
Lose-Remote

Reg: 28.02.2010
Beiträge: 439
tobomator tobomator tobomator tobomator tobomator tobomator
Standard

Man kann doch restrictiv oder "lapsch" bei PHP einstellen.
in der beschreibung oben steht ja nur, es fehlen entgweder ein (string) cast vor den werten oder zwei "" die den wert als solches einschließen.
Ich würde immer erstmal ausprobieren, wie es in der Beschreibung steht.

Wenn ich überheblich klinge, dann war das nur sarkastisch von mir gemeint.
Wer testet nicht bis ins kleinste Detail, bevor man fragt ?
Ich versuch jedenfalls erstmal gründlich nachzulesen und zu forschen, bevor ich überhaupt eine Frage stelle, oder Google mir weiterhilft!
tobomator ist offline   Mit Zitat antworten
Alt 28.10.2011, 15:56:16   #7 (permalink)
bekämpft die Mächte des Bösen
Benutzerbild von theHacker

ID: 69505
Lose-Remote

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über AIM schicken theHacker eine Nachricht über MSN schicken theHacker eine Nachricht über Yahoo! schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 20.468
theHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes Ansehen
Standard

Zitat:
Zitat von tobomator Beitrag anzeigen
Man kann doch restrictiv oder "lapsch" bei PHP einstellen.


Wo im Manual steht sowas?
theHacker ist gerade online   Mit Zitat antworten
Alt 02.11.2011, 04:55:45   #8 (permalink)
Erfahrener Benutzer

ID: 129556
Lose-Remote

Reg: 28.02.2010
Beiträge: 439
tobomator tobomator tobomator tobomator tobomator tobomator
Standard

@theHacker:
Das Manual bei www.php.net sagt, das was ich gepostet habe.
Restrictiv oder "lapsch" bezieht sich nicht darauf.
Falsche Interpretation von Dir!
tobomator ist offline   Mit Zitat antworten
Alt 02.11.2011, 06:17:38   #9 (permalink)
bekämpft die Mächte des Bösen
Benutzerbild von theHacker

ID: 69505
Lose-Remote

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über AIM schicken theHacker eine Nachricht über MSN schicken theHacker eine Nachricht über Yahoo! schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 20.468
theHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes Ansehen
Standard

Ok, jetzt versteh ich offiziell gar nix mehr
Was steht im Manual? Worauf bezieht sich dieses "Restrictiv oder "lapsch""? Und wo kann ich es nachlesen?
theHacker ist gerade online   Mit Zitat antworten
Alt 02.11.2011, 08:02:47   #10 (permalink)
be forever curious
Benutzerbild von tleilax

ID: 27936
Lose-Remote

Reg: 20.04.2006
Beiträge: 2.259
tleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehen
Standard

Ich vermute, dass tobomator meint, man könne PHP auf strikte Datentypen umstellen. Da hätte ich allerdings auch gerne einen entsprechenden Link.

Wie man an meinem Beispiel sieht, ist es den bc-Funktionen relativ wurscht, welcher Datentyp reinkommt.

@King_Markus: Hast Du das inzwischen lösen können?
.lange tage und angenehme nächte, tlx
:.whatthemovie.com (Screenshots raten) | PHP ExportForce-Klasse
tleilax ist offline   Mit Zitat antworten
Alt 02.11.2011, 13:23:39   #11 (permalink)
Digenis Progger

ID: 49867
Lose-Remote

Reg: 19.06.2006
Beiträge: 103
DJPaschi befindet sich auf einem aufstrebenden Ast
Standard

Moin,
auch auf die Gefahr hin dass das Problem schon gelöst wurde:

ich habe mir den Coodeteil auch noch mal angeguckt und mir fälllt dabei eine Sache auf: Seit wann darf man in PHP in verbindung mit Zahlen das Komma benutzen? er addiert ne Zahl hinzu, verwendet aber statt punkt ein kommazeichen.

Das allein macht doch schon nen euen parameter aus der Kommazahl und verpfuscht das ganze Ergebnis.

oder seh ich da was falsch ?

Grus DJPaschi
DJPaschi ist offline   Mit Zitat antworten
Alt 02.11.2011, 14:51:27   #12 (permalink)
B2T PREMIUM-User
fully operational again
Benutzerbild von B2T

ID: 247499
Lose-Remote
Reallife

B2T eine Nachricht über ICQ schicken B2T eine Nachricht über Skype™ schicken
Reg: 13.07.2006
Beiträge: 7.313
B2T genießt hohes AnsehenB2T genießt hohes AnsehenB2T genießt hohes AnsehenB2T genießt hohes AnsehenB2T genießt hohes AnsehenB2T genießt hohes AnsehenB2T genießt hohes AnsehenB2T genießt hohes AnsehenB2T genießt hohes AnsehenB2T genießt hohes AnsehenB2T genießt hohes Ansehen
Standard

Zitat:
Zitat von DJPaschi Beitrag anzeigen
mir fälllt dabei eine Sache auf: Seit wann darf man in PHP in verbindung mit Zahlen das Komma benutzen? er addiert ne Zahl hinzu, verwendet aber statt punkt ein kommazeichen.
bcdiv hat drei Parameter, die Zahl wird nur zum zweiten Parameter hinzuaddiert, also die 100, während ",8" der scale-Parameter ist.
Früher waren "alles", "war" und sogar "besser" alle besser.
-= Meine vollständige Signatur =-
B2T - Internet Fan - CITV.nl: Gegen Call-In - Bitte ruft dort nicht an!
B2T ist offline   Mit Zitat antworten
Antwort

Gesponsorte Links

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Servereinstellung bezüglich bcmul, bcdiv und co VIPbanner_de Linux & Co 2 25.09.2007 13:01:47


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58:02 Uhr.