Visualizzazione risultati 1 fino 8 di 8

Discussione: Precisione cifre decimali

  1. #1
    lionalex non è connesso Utente attivo
    Data registrazione
    10-12-2002
    Messaggi
    446

    Predefinito Precisione cifre decimali

    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
    Chi troppo vuole....vuole LionAlex...

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Hai provato ad utilizzare la funzione round?
    Codice PHP:
    echo round(23,2);
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    lionalex non è connesso Utente attivo
    Data registrazione
    10-12-2002
    Messaggi
    446

    Predefinito

    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...
    Chi troppo vuole....vuole LionAlex...

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Potresti provare a fare così:
    Codice PHP:
    $numero=23;
    $numero*=100;
    echo
    substr($numero,0,strlen($numero)-2).",".substr($numero,strlen($numero)-2);
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    lionalex non è connesso Utente attivo
    Data registrazione
    10-12-2002
    Messaggi
    446

    Predefinito

    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???
    Chi troppo vuole....vuole LionAlex...

  6. #6
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    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);
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  7. #7
    Guest

    Predefinito

    Codice PHP:
    number_format($val,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.


    Ciaoooooo!!!!!

  8. #8
    L'avatar di Luffio
    Luffio non è connesso Utente attivo
    Data registrazione
    02-07-2006
    Messaggi
    439

    Predefinito

    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";
    }

    }

    }

    ?>
    Ultima modifica di Luffio : 21-11-2006 alle ore 16.01.55

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •