Amigos,
Tenho uma coluna num banco Mysql definida como double (11,2). Ocorre que ao fazer cálculos com esse valor, o resultado sai truncado na última casa decimal. ex: 100.0 quando deveria ser 100.00. Estou obtendo o campo através da função getfloat e talvez o erro esteja aí. Perguntas:
- alguem conhece o método para ler um campo definido como double?
- alguem conhece a função de arredondamento e como utilizá-la?
PS: não estou trabalhando com servelt e sim diretamente em jsp.
Agradeço toda e qualquer ajuda.
Odete, creio que isso pode te ajudar:
Obtenha o conteudo de um campo e converta em double utilizando a seguinte instrução:
double x = Double.parseDouble( "102.23" ); //<-conteudo do campo
A classe Double pertence ao pacote java.lang e o método parseDouble recebe um String e retorna um double.
Para obter um número com casas decimais definidas utilize a classe DecimalFormat do pacote java.text. Ex:
import java.text.DecimalFormat;
public class ExemploDouble {
public static void main( String args[] )
{
double x = Double.parseDouble( "102.2301" );
DecimalFormat exDecimal = new DecimalFormat( "000.00" );
System.out.println( "Número: " + exDecimal.format( x );
}
}
![:wink: :wink:](https://www.guj.com.br/images/emoji/twitter/wink.png?v=6)
Obrigado pela dica. Não foi a solução mas nos ajudou a chegar nela. Por isso vou até desculpar vc ter me chamado de mulher. rs. valeu. ![:stuck_out_tongue: :stuck_out_tongue:](https://www.guj.com.br/images/emoji/twitter/stuck_out_tongue.png?v=6)