Estou emitindo valores pro xml para configurar o gráfico do fusionCharts, mas o valor que eu estou mandando tem 6 casas decimais, só que quero enviar com apenas 2. Fiz o seguinte código
double d = 12331.2312333;
DecimalFormat da = new DecimalFormat("0.00");
System.out.println(da.format(d));
Até aí tudo bem, mas se eu enviar esse valor assim para o fusionChart ele não captura. Pensei então em parseá-lo para double novamente, que é como originalmente estava:
double d = 12331.2312333;
DecimalFormat da = new DecimalFormat("0.00");
double valor = Double.parseDouble(da.format(d));
System.out.println(valor);
não acusa erro de compilação, mas dá NumberFormatException. Tentei então fazer conversão de String para double:
double d = 12331.2312333;
DecimalFormat da = new DecimalFormat("0.00");
String valor = "" + da.format(d);
double mais = Double.parseDouble(valor);
System.out.println(mais);
novamente NumberFormatException.
Alguém sabe o que tá rolando?? :evil: :evil:
Olá andre.froes.
Não sei se deve ajudar, mas acho que, se você instanciar a classe DecimalFormat com uma construtora sem parametros e então
informar, através do método setMaximumFractionDigits, a quantidade maxima de dígitos fracionários que você quer, talvez resolva.
DecimalFormat da = new DecimalFormat();
da.setMaximumFractionDigits(2);
Se só precisa do double truncado, tente:
Math.floor(x * 100)/100
Nessa linha
Double.parseDouble(da.format(d))
Se d = 12331.2312333
da.format(d) retorna a String 12331[color=red],[/color]23 se seu computador estiver configurado com casas decimais brasileiras… (virgula para separar decimais)
Quando você faz Double.parseDouble(“12331,23”) considerando que “12331,23” é o resultado da outra chamada dá erro pois… um double em Java separa casas decimais com ponto… e nao com virgula…
DecimalFormat formatoDois = new DecimalFormat("##,###,###,##0.00", new DecimalFormatSymbols (new Locale ("pt", "BR")));
formatoDois.setMinimumFractionDigits(2);
formatoDois.setParseBigDecimal (true);
double num = formatoDois.format(d);
Boa tarde
andre.froes,
Estou tentando utilizar o Fusioncharts com Jsp, servlet e postgresql.
Já até consegui exibir o gráfico em tela, porém não consigo atualizar esse gráfico dinamicamente.
Voceê tem alguma ídeia/exemplo de como posso fazer isso? Hoje eu faço da seguinte forma, ao fazer um submit em uma jsp, envia uma requisição p minha servlet que faz uma consulta no banco e gera um arquivo .xml. Até ai tudo bem porém o gráfico não atualiza, só se eu fizer um refresh na pasta e reiniciar o servidor.
Existe alguma forma de eu ja passar o xml como parametro, em forma de uma String??
segue a baixo o código de como faço para exibir o relatório na minha jsp:
<div id="chartdiv" align="center" class="graficoMaiorSaida" > Test Chart</div>
<script type="text/javascript" >
var chart = new FusionCharts("grafico/Pie3D.swf","ChartId","580","300","0","0");
chart.setDataURL("grafico/arquivo4.xml"); <!-- XML gerado a partir de uma consulta no banco de dados. -->
chart.render("chartdiv");
</script>
Se alguém puder me ajudar, eu agradeço muito, pois estou precisando muito disso para o meu tcc.
Desde já muito obrigado.