-
rimozione virgola
Ciao Ragazzi,
sono a chiedervi un aiuto che spero sia abbastanza semplice...
ho il seguente numero(estrapolato da un file csv) 6417182775352 che al momento della ECHO in php mi viene convertito in 6,41718E+12
come posso fare per avere il numero intero?
in attesa di certa risposta
auguro buone feste a tutti
-
Normalmente non viene mostrato in formato esponenziale. Questa pagina č cosė:
Codice PHP:
<?php
echo 6438160000000;
In ogni caso potresti risolvere ad esempio con la number_format() o la sprintf(), ad esempio:
Codice PHP:
echo number_format(6.43816E+12, 0, '', '');
.
Ciao!
-
il mio problema č che nel foglio di Excel il contenuto č questo:
http://prntscr.com/qa3kqn
In fase di upload
(a te lo script che uso)
Codice PHP:
switch($file['extension']){
case "csv":
if($filename[1] == 'csv')
{
$query_truncate="TRUNCATE TABLE `gamma_deposito_".$deposito."`";
mysqli_query($connect, $query_truncate);
$handle = fopen($_FILES['file']['tmp_name'], "r");
while($data = fgetcsv($handle, 0, ";"))
{
$item1 = mysqli_real_escape_string($connect, $data[0]);
$item2 = mysqli_real_escape_string($connect, $data[1]);
$item3 = mysqli_real_escape_string($connect, $data[2]);
$item4 = mysqli_real_escape_string($connect, $data[3]);
switch($item1){
case "Articolo":
break;
default:
$query = "INSERT into gamma_deposito_".$deposito."(`Articolo`, `Descrizione articolo`, `Codbar`, `Giacenza att.`) values('$item1','$item2','$item3','$item4')";
mysqli_query($connect, $query);
echo $item3."<br>";
echo number_format($item3, 0, '', '')."<br>";
break;
}
}
fclose($handle);
echo ("<script LANGUAGE='JavaScript'> window.alert('upload effettuato'); window.location.href='index.php'; </script>");
}
break;
default:
echo ("<script LANGUAGE='JavaScript'> window.alert('Estensione non consentita. Puoi usare solo file #.csv'); window.location.href='upload.php'; </script>");
break;
}
mi genera questo output:
Echo: http://prntscr.com/qa3l8n
Database: http://prntscr.com/qa3lcf
io invece ho bisogno del numero realmente contenuto nella cella
-
Credo che il problema sia la virgola.
Prova a fare cosė:
Codice PHP:
$item3 = str_replace(',', '.', $item3);
echo number_format($item3, 0, '', '').'<br>';
In questo caso potresti anche semplicemente fare:
Codice PHP:
$item3 = str_replace(',', '.', $item3);
echo intval($item3).'<br>';
Ciao!
-
ok, ci stiamo avvicinando
andando a guardare un singolo valore di esempio (ma vale per tutti)
il numero completo originale č: 6417182775352
item3: 6,41718E+12
echo number_format($item3, 0, '', '').'<br>'; : 6438160000000
Se non si dovesse riuscire a risolvere la cosa ho visto che, modificando la tipologia di colonna del file *.csv da "generale" a "numero con 0 decimali" il problema si risolve, quindi in alternativa potrebbe venirmi in aiuto uno script (che non ho la pių pallida idea di come realizzare) che modifichi la tipologia di colonna prima di andare a gestire la query