Salve, esiste una funzione PHP che mi faccia decidere a che precisione far stampare un numero con le cifre decimali...ad esempio vorrei far stampare sempre almeno 2 cifre decimali anche se le 2 cifre decimali sono "00" es. 23.00.
Grazie per l'aiuto
Printable View
Salve, esiste una funzione PHP che mi faccia decidere a che precisione far stampare un numero con le cifre decimali...ad esempio vorrei far stampare sempre almeno 2 cifre decimali anche se le 2 cifre decimali sono "00" es. 23.00.
Grazie per l'aiuto
Hai provato ad utilizzare la funzione round?
Codice PHP:echo round(23,2);
ho provato ma questa funzione funziona solo se il numero è già decimale...il mio problema è fare in modo che anche numeri non decimali possano essere scritti con le 2 cifre decimali messe a 0...tipo, ho il numero 10, voglio farlo stampare come 10.00...
Potresti provare a fare così:
Codice PHP:$numero=23;
$numero*=100;
echo substr($numero,0,strlen($numero)-2).",".substr($numero,strlen($numero)-2);
così però funziona solo per i numeri interi...se i numeri sono decimali poi nn funge più...c'è una funzione che mi dica un numero quante cifre decimali ha???
In questo modo si dovrebbero vedere sempre due cifre decimali qualunque sia il tipo di numero.
Codice PHP:$numero=23;
$numero=round($numero*100);
echo substr($numero,0,strlen($numero)-2).",".substr($numero,strlen($numero)-2);
dove $val è la variabile contenente la cifra in questione, 2 è il numero di decimali visualizzati (dopo i quali tronca senza alcun tipo di arrotondamento o approssimazione), la virgola è il separatore dei decimali e il punto quello delle migliaia.Codice PHP:number_format($val,2,",",".")
Ciaoooooo!!!!!
Questo l'ho provato e va bene. È approssimato per difetto.
Codice PHP:<?php
$valore = "NUMERO da approssimare";
$precisione = 4;
$ereg_espr = "([0-9]+)";
$intero = "^$ereg_espr\$";
$decimale = "^$ereg_espr,([0-9]*)\$";
if(eregi($intero,$valore)){
$val_appr = $valore;
}
elseif(eregi($decimale,$valore,$regs)){
$val_appr = $regs[1].",";
if(strlen($regs[2])>=$precisione){
$val_appr.= substr($regs[2],0,$precisione);
}
elseif(strlen($regs[2])<$precisione){
$val_appr.= $regs[2];
for($i=0; $i<($precisione-strlen($regs[2])); $i++){
$val_appr.= "0";
}
}
}
?>