Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Errore di interpretazione numeri da parte di PHP, come risolvere?

    Ciao a tutti,
    mi chiamo Alessio, sono alle prime armi con PHP e mi trovo davanti a un problema tanto banale ma che trovo insormontabile per me, per tanto chiedo aiuto.

    -In una tabella del DB SQL ho una colonna di valori numerici tipo: 0.208280
    0.240680

    -ho una funzione che richiama il valore in array, sostituisce il punto con la virgola e mi da un decimale nello specifico:

    $cane[$c]['wgi_CO']['ida'] = str_replace('.',',',(round($rs['COI'],3) * 100).'%');

    quindi i valori sopra diventano : 20,8%
    24,0%

    nella pagina php da dove viene visualizzato il dato ho una funzione if eiself per colorare il numero per tre condizioni:

    <?php if ($value['wgi_CO']['ida'] >='24') { ?>
    <td class = "redTxt">
    <?php } elseif ($value['wgi_CO']['ida'] <='21') {?>
    <td class ="goodIdx">
    <?php } else {?>
    <td>
    <?php } ?>
    <strong><?php echo $value['wgi_CO']['ida']?></strong></td>


    PROBLEMA: php mi interpreta valori a una sola cifra intera tipo 6,25 come 62,5 o 625 e me lo colora di rosso anziché verde. Finché ho valori di due numeri interi interpreta giusto (11,2; 20,4; 36,8).

    come posso fare per fare interpretare i valori in modo corretto?

    Grazie mille

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    In php i numeri usano il . non la virgola.

    La soluzione é ovvia. Cambi il punto in virgola in un'altra variabile che userai per la stampa a video.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Quote Originariamente inviata da badaze Visualizza il messaggio
    In php i numeri usano il . non la virgola.

    La soluzione é ovvia. Cambi il punto in virgola in un'altra variabile che userai per la stampa a video.

    grazie mille della risposta!

    ma a questo punto non basterebbe semplicemente evitare il str_replace dell'inizio, quindi prendere semplicemente il mio valore iniziale con il punto?

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Ovviamente. Ma pensavo che ti serviva fare come hai fatto altrimenti che interesse ci sarebbe di fare una cosa simile ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Sì, semplicemente quel str_replace() non ha senso, toglilo, così come devi togliere il % in coda, lascia solo il round()

  6. #6
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Ovviamente. Ma pensavo che ti serviva fare come hai fatto altrimenti che interesse ci sarebbe di fare una cosa simile ?
    era solo una questione stilistica, preferivo vedere la virgola per la stampa a video

  7. #7
    Risolto, grazie mille!

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    La virgola e il % puoi metterceli nel momento in cui vai a fare l'echo del valore.

  9. #9
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    La virgola e il % puoi metterceli nel momento in cui vai a fare l'echo del valore.
    missione compiuta, grazie ancora!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.