Vault Mod: keine Nachkommastellen?
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
- Dungeonwatcher
- Mitglied
- Beiträge: 635
- Registriert: 11.07.2004 10:04
- Wohnort: Berlin
Vault Mod: keine Nachkommastellen?
Hi!
Nachdem der Cash Mod nun endlich korrekt rechnet und anzeigt habe ich das gleiche Problem beim aktuellen Vault Mod. Standardmäßig kann er mit Nachkommastellen wohl nichts anfangen. Mittels number_format lässt sich zumindest schonmal die Anzeige des Geldes mit Nachkommastellen bewerkstelligen. Anschließend habe ich analog zum Cash Mod in der Tabelle phpbb_vault_users bei account_sum den Typ von INT auf Decimal 11,2 gesetzt. Trotzdem ignoriert der Vault Mod beim berechnen die Nachkommastellen.
Woran liegt's?
Bye
Nachdem der Cash Mod nun endlich korrekt rechnet und anzeigt habe ich das gleiche Problem beim aktuellen Vault Mod. Standardmäßig kann er mit Nachkommastellen wohl nichts anfangen. Mittels number_format lässt sich zumindest schonmal die Anzeige des Geldes mit Nachkommastellen bewerkstelligen. Anschließend habe ich analog zum Cash Mod in der Tabelle phpbb_vault_users bei account_sum den Typ von INT auf Decimal 11,2 gesetzt. Trotzdem ignoriert der Vault Mod beim berechnen die Nachkommastellen.
Woran liegt's?
Bye
Zuletzt geändert von Dungeonwatcher am 20.12.2008 12:07, insgesamt 2-mal geändert.
- Dungeonwatcher
- Mitglied
- Beiträge: 635
- Registriert: 11.07.2004 10:04
- Wohnort: Berlin
Re: Vault Mod 1.0.0 - keine Nachkommastellen?
'n Abend große Meister der PHP Künste!
Hat wirklich Niemand eine Idee?
Bye
Hat wirklich Niemand eine Idee?
Bye
-
- Mitglied
- Beiträge: 41
- Registriert: 13.04.2006 00:26
Na ja bin zwar nicht der große PHP Meister sondern auch ehr Anfänger aber vielleicht läßt sich da was finden.
Zunächst einmal wann ignoriert der Vault Mod beim berechnen die Nachkommastellen ?
Bei der Verzinsung , beim Aktienkauf ???
oder wo fällt es dir auf ?
Ein bisschen mehr Infos währen schon nicht schlecht
Zunächst einmal wann ignoriert der Vault Mod beim berechnen die Nachkommastellen ?
Bei der Verzinsung , beim Aktienkauf ???
oder wo fällt es dir auf ?
Ein bisschen mehr Infos währen schon nicht schlecht
- Dungeonwatcher
- Mitglied
- Beiträge: 635
- Registriert: 11.07.2004 10:04
- Wohnort: Berlin
Moin!
Wenn ich Aktien kaufe und einen Geldbetrag mit Nachkommastellen eingebe, dann wird letzteres ignoriert. Das ist daran zu sehen, das bei einem Guthaben von z.B. 100,55 und einem Kaufpreis von 5,55, anschließend noch 95,55 als Guthaben übrig sind.
Super.Teamkiller hat geschrieben:Na ja bin zwar nicht der große PHP Meister sondern auch ehr Anfänger aber vielleicht läßt sich da was finden.
Bei jeder Aktion. Es lässt sich keine Aktie mit einem Wert anlegen wo es Nachkommastellen gibt. Aus 5,55 wird 5.Zunächst einmal wann ignoriert der Vault Mod beim berechnen die Nachkommastellen ?
Bei der Verzinsung , beim Aktienkauf ???
Wenn ich Aktien kaufe und einen Geldbetrag mit Nachkommastellen eingebe, dann wird letzteres ignoriert. Das ist daran zu sehen, das bei einem Guthaben von z.B. 100,55 und einem Kaufpreis von 5,55, anschließend noch 95,55 als Guthaben übrig sind.
-
- Mitglied
- Beiträge: 41
- Registriert: 13.04.2006 00:26
Dann mal ein Versuch.
Ersetze in den Dateien
admin_vault_general.php
admin_vault_exchange.php
admin_vault_users.php
vault.php
jedes Vorkommen von intval durch doubleval.
Dann sollten deine Kommazahlen nicht mehr abgeschnitten werden.
Weiterhin muß du in der Datenbank in den Tabellen
vault_exchange + vault_exchange_users
alle Felder mit *price* auf das Format 11,2 umstellen.
Ersetze in den Dateien
admin_vault_general.php
admin_vault_exchange.php
admin_vault_users.php
vault.php
jedes Vorkommen von intval durch doubleval.
Dann sollten deine Kommazahlen nicht mehr abgeschnitten werden.
Weiterhin muß du in der Datenbank in den Tabellen
vault_exchange + vault_exchange_users
alle Felder mit *price* auf das Format 11,2 umstellen.
- Dungeonwatcher
- Mitglied
- Beiträge: 635
- Registriert: 11.07.2004 10:04
- Wohnort: Berlin
Moin, moin Meister!
Nun geht's aber mit der Bank weiter. Dort lassen sich noch keine Beträge mit Nachkommastellen einzahlen/abbuchen. Ich habe mal die in der Tabelle phpbb_vault_users die Felder account_sum und loan_sum entsprechend geändert. Nun stehen auch dort die entsprechenden Kontoeinträge mit Nachkommastellen. Aber beim Einzahlen/Auszahlen werden diese weiterhin ignoriert. Es muss also wohl auch in den PHP Dateien etwas geändert werden, nur was?
Bye
Das ist schon mal nicht schlecht. Es lassen sich jetzt Aktienwerte mit Nachkommastellen anlegen und kaufen/verkaufen.Teamkiller hat geschrieben:Dann mal ein Versuch.
Nun geht's aber mit der Bank weiter. Dort lassen sich noch keine Beträge mit Nachkommastellen einzahlen/abbuchen. Ich habe mal die in der Tabelle phpbb_vault_users die Felder account_sum und loan_sum entsprechend geändert. Nun stehen auch dort die entsprechenden Kontoeinträge mit Nachkommastellen. Aber beim Einzahlen/Auszahlen werden diese weiterhin ignoriert. Es muss also wohl auch in den PHP Dateien etwas geändert werden, nur was?
Bye
-
- Mitglied
- Beiträge: 41
- Registriert: 13.04.2006 00:26
Mahlzeit
Zuständig fürs Ein und Auszahlen ist die vault.php.
Hast du die Änderungen wie oben geschrieben da auch gemacht ?
Es geht um die Zeilen 63,64 & 66
$deposit_sum = intval($HTTP_POST_VARS['deposit_sum']);
$withdraw_sum = intval($HTTP_POST_VARS['withdraw_sum']);
$loan_sum = intval($HTTP_POST_VARS['loan_sum']);
intval durch doubleval ersetzen
$deposit_sum übermittelt den Einzahlungsbetrag
$withdraw_sum das was du abheben möchtest
$loan_sum den Kreditbetrag
Ein und Auszahlungen werden in der Tabelle vault_users im Feld account_sum gespeichert.
Wenn du alle Änderungen so gemacht hast sollte es eigendlich funktionieren.
Zuständig fürs Ein und Auszahlen ist die vault.php.
Hast du die Änderungen wie oben geschrieben da auch gemacht ?
Es geht um die Zeilen 63,64 & 66
$deposit_sum = intval($HTTP_POST_VARS['deposit_sum']);
$withdraw_sum = intval($HTTP_POST_VARS['withdraw_sum']);
$loan_sum = intval($HTTP_POST_VARS['loan_sum']);
intval durch doubleval ersetzen
$deposit_sum übermittelt den Einzahlungsbetrag
$withdraw_sum das was du abheben möchtest
$loan_sum den Kreditbetrag
Ein und Auszahlungen werden in der Tabelle vault_users im Feld account_sum gespeichert.
Wenn du alle Änderungen so gemacht hast sollte es eigendlich funktionieren.
- Dungeonwatcher
- Mitglied
- Beiträge: 635
- Registriert: 11.07.2004 10:04
- Wohnort: Berlin
'n Abend!
Perfekt, nun funktioniert auch die Ein- bzw. Auszahlung mit Nachkommastellen. THNX
Blieben jetzt (imho) noch 2 Stellen im Mod anzupassen. Da währe zuerst im ACP die Eingabe von Min und Max Bereich der Kursschwankungen. In der betreffenden admin_vault_exchange.php habe ich alles angepasst. Wenn ich nicht ganz falsch liege, muss ich in der Tabelle phpbb_vault_general im Feld config_value die Zellen stock_min_change und stock_max_change von INT auf decimal(11,2) umstellen. Nur wie bekomme ich das per PHPMyAdmin hin? Wenn ich diese Zellen bearbeiten will, kann ich den Typ nicht ändern?
Bye
Perfekt, nun funktioniert auch die Ein- bzw. Auszahlung mit Nachkommastellen. THNX
Blieben jetzt (imho) noch 2 Stellen im Mod anzupassen. Da währe zuerst im ACP die Eingabe von Min und Max Bereich der Kursschwankungen. In der betreffenden admin_vault_exchange.php habe ich alles angepasst. Wenn ich nicht ganz falsch liege, muss ich in der Tabelle phpbb_vault_general im Feld config_value die Zellen stock_min_change und stock_max_change von INT auf decimal(11,2) umstellen. Nur wie bekomme ich das per PHPMyAdmin hin? Wenn ich diese Zellen bearbeiten will, kann ich den Typ nicht ändern?
Bye
-
- Mitglied
- Beiträge: 41
- Registriert: 13.04.2006 00:26
Moin
Die Tabelle vault_general ist ein wenig anders aufgebaut als die bisher bearbeiteten Tabellen, in der Tabelle sieht du auch nur 2 Spalten, wenn du sie mal mit den anderen vergleichst siehst du auch die Unterschiede.
Lange Rede, kurzer Sinn, jede Spalte hat nur eine Definition die für alle nachfolgenden Reihen gültig ist, d.h. du mußt im den Fall die Spaltendefinition ändern, also in PHPMyAdmin die Tabelle vault_general anklicken, dann solltest du in der Struktur sein, falls nicht oben auf Struktur klicken.
Ausschlaggebend ist dann das Feld config_value, dieses änderst du dann auf diesmal auf Decimal 15,2 da es vorher schon mit der Größe 15 vordefiniert war.
Falls du so nicht damit klar kommst hier noch mal die entsprechende SQL Anweisung :
So dann viel Glück und Fun mit dem Vault Mod.
Die Tabelle vault_general ist ein wenig anders aufgebaut als die bisher bearbeiteten Tabellen, in der Tabelle sieht du auch nur 2 Spalten, wenn du sie mal mit den anderen vergleichst siehst du auch die Unterschiede.
Lange Rede, kurzer Sinn, jede Spalte hat nur eine Definition die für alle nachfolgenden Reihen gültig ist, d.h. du mußt im den Fall die Spaltendefinition ändern, also in PHPMyAdmin die Tabelle vault_general anklicken, dann solltest du in der Struktur sein, falls nicht oben auf Struktur klicken.
Ausschlaggebend ist dann das Feld config_value, dieses änderst du dann auf diesmal auf Decimal 15,2 da es vorher schon mit der Größe 15 vordefiniert war.
Falls du so nicht damit klar kommst hier noch mal die entsprechende SQL Anweisung :
Code: Alles auswählen
ALTER TABLE `php_vault_general` CHANGE `config_value` `config_value` DECIMAL( 15, 2 ) NOT NULL DEFAULT '0.00'
- Dungeonwatcher
- Mitglied
- Beiträge: 635
- Registriert: 11.07.2004 10:04
- Wohnort: Berlin
Moin, moin mein PHP Genie!
Auch das funktionierte bestens.
Nun muss ich halt mal beobachten ob die Verzinsung auch tatsächlich mit den Nachkommastellen arbeitet, bzw. ob die Aktienkurse diese auch berücksichtigen.
Nachdem ich nun noch diverse Male mit number_format die Anzeige der Werte im Forum angepasst habe, bleibt nur noch ein einziger "Schönheitsfehler" übrig. Dieser betrifft die Eingabe der Beträge. Standardmäßig werden diese im Amerikanischen Format mit dem Punkt als Trennungszeichen zu den Nachkommastellen eingegeben und stehen so natürlich auch in der Datenbank. Gibt es eine einfache Möglichkeit dieses Eingabeformat zum Komma ändern?
Bye
Auch das funktionierte bestens.
Nun muss ich halt mal beobachten ob die Verzinsung auch tatsächlich mit den Nachkommastellen arbeitet, bzw. ob die Aktienkurse diese auch berücksichtigen.
Nachdem ich nun noch diverse Male mit number_format die Anzeige der Werte im Forum angepasst habe, bleibt nur noch ein einziger "Schönheitsfehler" übrig. Dieser betrifft die Eingabe der Beträge. Standardmäßig werden diese im Amerikanischen Format mit dem Punkt als Trennungszeichen zu den Nachkommastellen eingegeben und stehen so natürlich auch in der Datenbank. Gibt es eine einfache Möglichkeit dieses Eingabeformat zum Komma ändern?
Bye