Visualizzazione risultati 1 fino 4 di 4

Discussione: operatore bcpow non funziona

  1. #1
    Guest

    Unhappy operatore bcpow non funziona

    Ciao a tutti,

    nel mio sito ( qui su Altervista ) , ho questo codice :

    Codice PHP:
    bcscale(3);
    $den = bcpow('10', $esp, 3);
    ma non funziona ... in pratica qualsiasi sia il valore di $esp ( l'esponente ) questo viene interpretato come un intero....

    Ho letto da qualche parte che per funzionare bene deve essere installata nel server una estensione di PHPmaths ( o qualcosa del genere )

    Ne siete al corrente ?

    Suggerimenti ?

    Pino
    Ultima modifica di vmrt : 01-03-2013 alle ore 20.01.53

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,292

    Predefinito

    Se guardi la documentazione di bcpow(), è specificato che il secondo parametro deve essere una stringa. Cosa metti in $esp?

    Per il resto, aggiungi in cima al tuo script la riga error_reporting(E_ALL); per assicurarti che vengano mostrati eventuali errori.

    edit: nota anche l'ultimo commento:
    [...] Also, bcpow() does not support decimal numbers. [...]
    Ultima modifica di dreadnaut : 01-03-2013 alle ore 20.31.14

  3. #3
    L'avatar di trylab
    trylab non è connesso Neofita
    Data registrazione
    02-09-2012
    Messaggi
    24

    Predefinito

    Da quello che so io la funzione bcpow(...) è disponibile dalla versione 4 e altervista usa di default la 5.2.

    Ad esempio, questo spezzone di codice va perfettamente:
    Codice PHP:
    $esp=3;
    bcscale(3);
    $den = bcpow('4.2', $esp);
    L'esponente se non sbaglio deve essere un intero e se non lo è viene fatto un arrotondamento per difetto, puoi usare pow(...) che fa la stessa cosa ma accetta i float.

  4. #4
    Guest

    Predefinito

    Innanzituto grazie a tutti per le risposte.

    [...] Also, bcpow() does not support decimal numbers. [...]

    anche io ho letto questo, ma ho anche letto che installando nel PHP una patch particolare di matematica, il tutto va a posto ... nel senso che anche l'esponente può utilizzare numeri con la virgola, che è quello che mi interessa.

    Ovviamente la variabile $esp è il risultato di una operazione matematica che , essendo un quoziente, ha grosse possibilità di non essere un intero.

    Ora do uno sguardo a questa funzione "pow" e poi vi so dire ... ma se ci sono altre idee ...

    Pino

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •