1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

float com duas casas decimais?como fazer em java?

Discussão em 'Programação' iniciada por chrno, 19 de Novembro de 2007. (Respostas: 8; Visualizações: 9112)

  1. chrno

    chrno Power Member

    boas
    como e k faço pa ao fazer o System.out.println(x); por exemplo se o x for um float e eu kiser k o output seja com 2 casas decimais?
    obrigado
    cumps
     
  2. Com o println acho que não dá para fazer isso, mas podes usar o printf para formatar a string de saída (como em C).
     
  3. guilherme

    guilherme Power Member

    tendo em conta que queres mandar para o ecra podes usar o printf como no C, da 1 olhadela por aqui: http://mindprod.com/jgloss/printf.html
    Se, por outro lado quiseres passar primeiro o conteúdo para uma string, tens o string.format que tem um funcionamento semelhante, usei este ultimo para parametrizar horas, do tipo 02:30:D

    Espero ter ajudado
     
  4. Mavors

    Mavors Power Member

    Mas vais usar o valor formatado com duas casas decimais?
    Se fores podes converter para BigDecimal, tipo:

    //em que floatNumber é o float que tu já tens
    java.math.BigDecimal number = new java.math.BigDecimal(floatNumber.toString()).setScale(2,BigDecimal.ROUND_HALF_DOWN);
    System.out.println(number);
     
  5. reise

    reise Power Member

    BigDecimal?! Não tinhas nada maior! :)
    Ele só quer escrever o numero com duas casas decimais. Um Formatter resolve-lhe o problema.
     
  6. guilherme

    guilherme Power Member

    tanta confusao para?
    Ele so quer mesmo representar no ecran
     
  7. Mavors

    Mavors Power Member

    Lol, realmente não havia nada maior. :P

    Mas sim, se é só para mostrar um formatter resolve o assunto ;)
     
  8. chrno

    chrno Power Member

    boas
    obrigado
    o k eu utilizei foi o printf. No entanto keria so avisar k ao se utilizar o decimal format pode ocorrer dps no output talvez por causa de arredondamentos. este caso k referi n é mt comum acontecer mas deixo so aki a ideia
    obrigado outra vez
    cumps
     

Partilhar esta Página