ae galera blz !
sei que esse post esta velho porem já cai nessa duvida e cais neste post consegui resolver e estou postando uma solução
segura para arredondamento para matematica finaceira sem margem de erro !
String Converte;
float vlr = (float) vl1;
BigDecimal big = new BigDecimal(vlr);
big = big.setScale(3, BigDecimal.ROUND_HALF_EVEN);
converte = String.valueOf(big);
int w = converte.length();
w =(w-1);
char r = converte.charAt(w);
String p = ""+r;
int it = Integer.parseInt(p);
/*caso a terceira casa seja menor que 5 corte a 3 casa depois da virgula*/
if(it < 5){
frase = new StringBuffer(converte);
converte = ""+frase.deleteCharAt(w);}
/* se a teceira casa for maior que 4 joga para DecimalFormat que ele arredonada automatico para cima sem a terceira casa...
else {
decimal = new DecimalFormat( "0.00" );
vl_conv = Double.parseDouble(converte);
converte = (decimal.format(vl_conv));
converte = converte.replaceAll(",",".");}
This message was edited 3 times. Last update was at 16/11/2009 11:55:37
|