Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027

    Aiuto con bash script (funzione round)

    Ciao, avrei bisogno di effettuare il round di un numero con decimali, e cercando per la rete ho trovato questo:

    http://stempell.com/2009/08/rechnen-in-bash/

    codice:
    round() { $(echo "scale=$function round () {
    echo $(printf %.$2f $(echo "scale=$2;(((10^$2)*$1)+0.5)/(10^$2)" | bc))
    }
    
    echo $(round 3.1234 2)
    echo $(round 3.1271 2)
    Io ottengo il seguente errore e suppongo che dipenda dal diverso locale.

    codice:
    gianiaz@arrakis:~/Documenti/Note$ round() { echo $(printf %.$2f $(echo "scale=$2;(((10^$2)*$1)+0.5)/(10^$2)" | bc)); };
    gianiaz@arrakis:~/Documenti/Note$ echo $(round 3.1234 2)
    bash: printf: 3.12: numero non valido
    0,00
    Cosa dovrei cambiare in quella funzione per adattarla al mio sistema?

    Grazie, ciao

  2. #2
    qui

    http://www.ubaweb.it/miniguide/log_e_decimali.php

    dice che non vuole il punto ma la virgola

  3. #3
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    si avevo intuito, ma mi chiedo dove dovrei cambiarlo, perchè il numero arriva dal calcolo con bc, e credo che sia quel risultato che dovrebbe avere la virgola, devo trattare il risultato come una stringa e sostituire il . con la virgola o c'è un metodo + corretto?

    ciao

  4. #4

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.