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

    Prelevare (Fetch) dati di tipo float da db

    Salve a tutti,

    Uso PDO come interfaccia al db
    e uso ibm db2 come database.

    Quando prelevo dati dal db tramite query sql...

    $res = $stmt->fetchAll(PDO::FETCH_ASSOC);
    foreach ($res as $el)
    {
    $content .= "<tr>" . "\n\r";
    $content .= "<td>" . $el['NOME'] . '</td>' . "\n\r";
    $valore = (float)$el['VALORE'];
    $content .= "<td>" . number_format($valore,2) . '</td>' . "\n\r";
    $content .= "<td>" . $el['VALORE'] . '</td>' . "\n\r";
    $content .= "</tr>" . "\n\r";
    }
    ...
    i campi di tipo "float" del database vengono fetch-ati dal php come stringhe
    e se faccio numer_format
    un valore che e' 5,00000000000000E+005 (nel db)
    viene tradotto in 5
    invece e' 500000!!!!!!!

    Dove sbaglio??

    JH

  2. #2
    Puoi utilizzare la funzione floatval(), ma nel tuo caso il problema è nella virgola dato che il tuo valore è 5,00000000000000E+005 che viene convertito in 5 invece dovrebbe essere 5.00000000000000E+005 (col punto) che viene convertito correttamente in 500000

    Codice PHP:
    <?php
    $value 
    "5.00000000000000E+005";
    $floatValue floatval($value);
    echo 
    $floatValue;
    ?>
    "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.