Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Arrotondare un decimale

    Ciao
    volevo saper se esisteva un formula con php, che permetteva di arrotondare i decimali di un numero...
    Es se ho un numero 10,236541234244123 voglio arrotondarlo per eccesso a 10.24, oppure se ho un numero 10.2321344 lo arrotondi per difetto a 10.23.
    io ho provato con round() ma me li arrotonda in numeri interi es: 10, 11, 12, invece a me servirebbe un funziona che arrotondi i decimali.
    Qualcono conosce un funzione con php che permetta di fare questo genere di cose? se si potrebbe cortesemente indicarmi tale funzione? :master:
    Ciao e grazie

  2. #2
    http://it2.php.net/manual/it/function.sprintf.php

    sprintf("%01.2f", $numero)

    temo che così però tagli al secondo decimanle senza arrotondare.. insomma.. arrotondi sempre per eccesso.. non so

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Evidentemente non hai usato il secondo parametro della funzione round.
    Guarda meglio la sintassi della funzione nel sito.

  4. #4
    Originariamente inviato da nicola75ss
    Evidentemente non hai usato il secondo parametro della funzione round.
    Guarda meglio la sintassi della funzione nel sito.
    ok.. stamattina non è cosa per me

    non sapevo ci fosse iun secondo parametro

    bisogna vedere però 3.6 se lo stampa 3.6 oppure 3.60 (coeme magari è desiderabile).. se stampa solo 3.6 un uso combinato delle due funzioni può essere utile....


  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Ti tolgo la curiosità. Hai ragione, elimina gli zeri finali.

    $numero = 3.5000;
    $arrotonda = round($numero,2);
    echo $arrotonda; // restituisce 3.5

    quindi conviene usare o la tua funzione oppure number_format

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    .. del resto arrotondare un numero non e' la stessa cosa che formattarlo.
    There are 10 types of people in the world - those who understand binary and those who don't.

  7. #7
    ok ragazzi adesso valuto tutte le funzioni che mi avete indicato e vediamo che ne esce...
    A dopo

  8. #8
    Raga ho risolto,
    Ho fatto come segue:
    Codice PHP:
    <?php
    $money 
    68.758;
    $formatted sprintf("%01.2f"$money);
    echo 
    "$formatted";
    ?>
    Posso dirvi che funziona perfettamente. Provate per credere.
    Ciao e grazie a tutti

  9. #9
    Ciao,
    Secondo problema, :master:
    Codice PHP:
    $alternativa"10.00";
    if (
    $percent '10.00') {
      
    $percent"$alternativa";
    } else {
    etc.......

    In pratica vorrei attribuire la variabile $alternativa alla varibile $percent se il risultato dello sprintf dovesse essere superiore a 10.00.
    Ma non mi riesce.
    Come mai? :master:
    ciao e grazie

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Se ho capito bene ti serve una cosa del genere:
    Attento. sprintf, number_format servono per formattare un valore in un certo modo. quindi restituiscono una stringa. Le operazioni matematiche o i confronti devi farle con le variabili prima di fare le formattazioni. Una volta fatte gli puoi attribuire sprintf.

    // Esempio
    $percent = 11;
    $alternativa = 10;
    if ($percent > 10)
    {
    $percent = $alternativa;
    echo $alternativa;
    }
    else
    echo $percent;
    // In questo caso restituirà 10.
    Se ad esempio metti 5 (quindi minore di 10) ti darà 5.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.