PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   Hilfe! bcdiv() (https://www.php-resource.de/forum/php-developer-forum/8114-hilfe-bcdiv.html)

mazze 11-06-2002 17:11

Hilfe! bcdiv()
 
Hallo,

ich habe mir ein Script gekauft.. installiert und läuft auch fast ...
Leider kommt immer folgender Fehler:

Fatal error: Call to undefined function: bcdiv() in /usr/www/users/nb617/xxxx/index_start.php on line 94


Leider habe ich keine Ahnung von PHP, aber unter selfPHP habe ich folgendes gefunden:

"Achtung: Diese Funktion ist nur ausführbar, wenn PHP bei der Installation mit
--enable-bcmath konfiguriert wurde.
"

Was mache ich jetzt ??

Hier der Auszug vom Script:

$trefferzahl= bcdiv($treffer,20,2);

Kann man das irgendwie mit anderen Befehlen umprogrammieren
das das Funktioniert?

DANKE!

Matthias

goth 11-06-2002 18:18

Also ... wenn's Dein Server ist würde ich den Anweisungen in selfPHP folgen und php mit --enable-bcmath neu installieren (wird beim ./configure angegeben).

Wenn's der Server Deines Providers ist kannst Du mal zart anfragen ob der das PHP entsprechend installieren möchte.

Wenn beides nicht zutrifft kannst Du das Script direkt an /dev/nul schicken ... (unter windows ist das der lustige kleine Papierkorb auf dem Desktop).

n3wPHPi3 11-06-2002 19:14

ja stimmt und umschreiben kannst es auch net, was mir jetzt ncoh einfiele wäre:

--------------------- Original: --------------------

$trefferzahl= bcdiv($treffer,20,2);

------------------- Alternative: --------------------

bcscale(2);
$trefferzahl= $treffer/20;

ovster 25-09-2003 09:51

Hallo,

wenn php ohne "--enable-bcmath" installiert wurde, dann wird bcscale() wohl genausowenig bekannt sein wie bcdiv().

Aber das Script deshalb gleich komplett dem Papierkorb zukommen zu lassen, ist doch ein bisserl voreilig, wie ich finde.

Es geht in genanntem Scriptausschnitt

$trefferzahl= bcdiv($treffer,20,2);

doch wirklich nur darum, eine Division durchzuführen mit einer Genauigkeit von 2 Stellen hinter dem Komma.

Eine mögliche Lösung ist doch recht einfach selbst zu schreiben:

$rundung = $treffer / 20;
$rundung *= 100;
$rundung = round($rundung);
$rundung /= 100;
$trefferzahl = $rundung;

Eingebettet in eine eigene function sollte das doch immer eine $trefferzahl mit (maximal) 2 Nachkommastellen liefern.

Gruß
ovster


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

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG