Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: usare il number_format

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    26

    usare il number_format

    Ciao a tutti...
    non riesco a capire perchè se uso il number_format mi da un messaggio di errore in cui dice che non è ben formato.

    ho bisogno di prendere il parametro $valore e visualizzarlo mostrando solo due cifre dopo la virgola, in questo codice:

    function getPolygon($id, $valore, $tipo, $regione){
    if($tipo == "occ"){
    if($valore<10) {$color="#FF3300";}
    elseif($valore>=10&&$valore<50) {$color="#FF9900";}
    else{$color="#66CC00";}
    }
    elseif($tipo == "dis") {
    if ($valore<10){$color="#66CC00";}
    elseif ($valore>=10&&$valore<50){$color="#FF9900";}
    else { $color="#FF0000";}
    }

    switch($id){

    case 1: echo "<polygon title =\"".$regione."\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" fill=\"".$color."\" stroke=\"#A7DBEE\" stroke-width=\"1.4173\" stroke-miterlimit=\"10\" points=\"
    61.327,60.879 65.627,58.012 71.003,52.635 72.437,50.484 71.003,42.957 71.72,40.448 79.962,36.863 83.905,35.789 88.563,30.77 \"/>";
    echo "<text id=\"piemonte\" x=\"40\" y=\"130\" >".$valore."%</text>";
    break;

    Ho provato in tutti i modi, riesco solo a formattare il valore ma non a visualizzarlo sulla cartina svg che sparisce completamente. Questo lo so, perchè quando mi da il messaggio di errore vedo il valore formattato!

    Qualcuno sa dirmi come devo fare??

  2. #2
    Parli di number_format e di errore, ma nel tuo post non vedo alcun accenno nè all'uno nè tantomeno all'altro.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    26
    Si ho tolto entrambi e ho inserito solo parte del codice, perchè non funzionavano. Questa è la prova che mi restituiva il numero formattato correttamente nel messaggio d'errore, ovviamente la cartina svg era sparita.

    function getPolygon($id, $valore, $tipo, $regione){

    $number=number_format($valore,2,","," ");
    if($tipo == "occ"){
    if($valore<10) {$color="#FF3300";}
    elseif($valore>=10&&$valore<50) {$color="#FF9900";}
    else{$color="#66CC00";}
    }
    elseif($tipo == "dis") {
    if ($valore<10){$color="#66CC00";}
    elseif ($valore>=10&&$valore<50){$color="#FF9900";}
    else { $color="#FF0000";}
    }

    switch($id){

    case 1: echo "<polygon title =\"".$regione."\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" fill=\"".$color."\" stroke=\"#A7DBEE\" stroke-width=\"1.4173\" stroke-miterlimit=\"10\" points=\" \"/>";
    echo "<text id=\"piemonte\" x=\"40\" y=\"130\" >".$number."%</text>";

    Nella echo se lascio $valore funziona tutto regolarmente, invece se lo sostituisco con $number a cui ho assegnato la number_format non funziona più e mi da il messaggio con il valore formattato.

  4. #4
    E $valore cosa contiene?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    26
    un valore numerico con 6 decimali che estrae con delle query da un database, quindi varia ogni volta in base alla query.

  6. #6
    Originariamente inviato da Sari
    un valore numerico con 6 decimali che estrae con delle query da un database, quindi varia ogni volta in base alla query.
    Ma hai provato a stamparlo con un echo?
    Perchè se provo il tuo codice funziona correttamente:

    Codice PHP:
    <?php
    $valore 
    1.234567;
    $number number_format($valore2","" ");
    echo 
    $number;
    ?>
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    26
    questa è la echo che ho usato io:

    Codice PHP:
    echo "<text id=\"piemonte\" x=\"40\" y=\"130\" >".$number."%</text>"
    Io ho notato che se assegno alla variabile $number un valore numerico preciso come hai fatto tu, tipo $number=12,4785 allora funziona, ma se uso una variabile come $valore (contenente il valore numerico) non va.

    Ufffaaaaaaaaaa

  8. #8
    Originariamente inviato da Sari
    questa è la echo che ho usato io:

    Codice PHP:
    echo "<text id=\"piemonte\" x=\"40\" y=\"130\" >".$number."%</text>"
    Io ho notato che se assegno alla variabile $number un valore numerico preciso come hai fatto tu, tipo $number=12,4785 allora funziona, ma se uso una variabile come $valore (contenente il valore numerico) non va.

    Ufffaaaaaaaaaa
    Veramente ti avevo chiesto la stampa di $valore prima della conversione e NON di $number che non ci serve a nulla.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2012
    Messaggi
    26
    qualsiasi variabile usi non va.

  10. #10
    Originariamente inviato da Sari
    qualsiasi variabile usi non va.
    Te lo richiedo con parole più semplici. E' possibile fare un echo di $valore?!?!

    Codice PHP:
    function getPolygon($id$valore$tipo$regione) {
        echo 
    $valore;
        
    $number number_format($valore,2,","," ");
        ... 
    Se non è possibile allora getto la spugna!!!!!!
    Grazie!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.