Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654

    Moltiplicazione tra decimali

    $importo e $coefficiente sono valori con due cifre decimali.
    Se faccio la moltiplicazione tra loro, cioè $importo*$coefficiente, mi risulta un numero intero

    Cosa devo fare per mantenerlo decimale? Potrei forzare la variabile risultante, ma in questo modo perdo i valori decimali (mi servono esatti al centesimo).

  2. #2
    posta un esempio con dei valori reali.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Probabilmente dipende dal fatto che i numeri in questione sono scritti con il carattere "virgola", e quindi PHP li interpreta come stringhe, mentre un decimale deve essere scritto con il carattere "punto" come delimitatore tra parte intera e parte decimale. Da dove provengono i numeri? Da un database?

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    $importo=10000000.00
    $coefficiente=0.50
    15000000
    Codice PHP:
    $importo=10000000.00;
    $coefficiente=0.50;
    $importo_rivalutato=$importo*$coefficiente;
    echo 
    $importo_rivalutato
    risulta 15000000
    senza decimali
    :berto:

    come vedete sono tutti con il punto decimale, quindi dovrebbe apparire anche $importo_rivalutato con il punto decimale

  5. #5
    Beh e' normale ... 10000000 moltiplicato 0.5 da' un numero intero come risultato... Se ti serve comunque visualizzare la parte decimale, fai cosi':

    codice:
    $importo=10000000.00;
    $coefficiente=0.50;
    $importo_rivalutato= number_format($importo*$coefficiente,2,'.','');
    echo $importo_rivalutato;
    Ma $importo_rivalutato in questo caso diventa una stringa...

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    infatti se metto un valore con cifre decimali al primo importo mi risulta in effetti un valore decimale alla fine...
    Non avevo neanche pensato che non prendesse i decimali se i moltiplicandi sono interi

    In tal caso me la cavo con un if
    Grazie per l'aiuto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.