+ Responder ao Tópico



  1. #1

    Padrão expr calulo FLOAT

    alguem sabe como fazer a conta expr 10 / 6
    dar 1,6 e não 1?

    preciso das casas a pos a virgula pelomenos duas! posso usar outra coisa que nao o expr tbm!

    Abraços

  2. #2

    Padrão jah achei valeu

    Código :
    Devm ter visto que os comandos do [B]shell[/B] "let" e "[B]expr[/B]" apenas permitem operações do tipo inteiro. E para efectuar
     calculos numericos com floats ?
     Opcao 1 : Utilizar o programa bc : arbitary precision calculator language
     y=2.2
     x=2.7
     echo "$x/$y"|bc -l
     1.22727272727272727272
     Opção 2 : Utilzar o programa awk
     x=2.2
     y=3.3
     echo $x $y | awk '{print $1+$2}'
     Opção 3 : Escrever (em c) um comando proprio tipo mylet
     Utilização seria :
     mylet 2.2 2.4 +
     OU
     mylet 2.3 4.2 *
     O programa depois será qualquer coisa como ...
     #include ..
     main( int argc , char **argv )
     {
     [B]float[/B] a,b;
     a= atof( argv[1] );
     b= atof( argv[1] );
     if ( 0==strcmp(argv[3],"+")) printf("%f\n",a+b);
     if ( 0==strcmp(argv[3],"/")) if (b!=0) printf("%f\n",a/b); else printf(“NaN\n”);
     }
     cc –o mylet mylet.c
     mv mylet $HOME/bin - disponibilizar comando, copiando para um directorio do seu path



  3. #3

    Padrão

    Ou ainda você pode fazer:

    Código :
    [FONT=Courier New] echo "scale=2;10/6" | bc[/FONT]

    O "scale" controla quantas casas decimais você quer!