Multiple Points

1 resposta
gfabricio

Bom Dia Pessoal do GUJ!
Estou com um problema que está me dando uma grande dor de cabeça;
Eu pego alguns campos de uma tabela no ORACLE (o formato dos campos é number) e preciso soma-los no jsp e exibir o valor resultante.

O trecho do código é o seguinte:

for(int iLinha=0;iLinha <= lPaginacao.size()-1;iLinha++){
	  double Abertos=Double.parseDouble(pagConcFundos.getValor(iLinha,"ABERTOS",2,2));
	  double Inadimplentes=Double.parseDouble(pagConcFundos.getValor(iLinha,"INADIMPLENTES",2,2));
	  double Cartorio=Double.parseDouble(pagConcFundos.getValor(iLinha,"CARTORIO",2,2));
	  double Protestados=Double.parseDouble(pagConcFundos.getValor(iLinha,"PROTESTADOS",2,2));
	  double Pendentes=Double.parseDouble(pagConcFundos.getValor(iLinha,"PENDENTES",2,2));
	  double Cheques=Double.parseDouble(pagConcFundos.getValor(iLinha,"CHEQUES",2,2));
	  double SomaNaoPagos=Abertos+Inadimplentes+Cartorio+Protestados+Pendentes+Cheques;
  %>
  <tr class="txtforms">
   <td width="331" align="left" valign="middle"><%=  pagConcFundos.getCampo(iLinha,"NOME_FUNDO")%></td>
   <td width="200" align="center" valign="middle"><%=  pagConcFundos.getValor(iLinha,"SALDO_CEDENTE",2,2)%></td>
   <td width="200" align="left" valign="middle"><%= pagConcFundos.getValor(iLinha,"SALDO_SACADO",2,2)%></td>
   <td width="250" align="center" valign="middle"><%= pagConcFundos.getValor(iLinha,"ABERTOS",2,2)%></td>
   <td width="200" align="left" valign="middle"><%= pagConcFundos.getValor(iLinha,"INADIMPLENTES",2,2)%></td>
   <td width="200" align="center" valign="middle"><%= pagConcFundos.getValor(iLinha,"CARTORIO",2,2)%></td>
   <td width="200" align="center" valign="middle"><%=  pagConcFundos.getValor(iLinha,"PROTESTADOS",2,2)%></td>
   <td width="200" align="left" valign="middle"><%= pagConcFundos.getValor(iLinha,"PENDENTES",2,2)%></td>
   <td width="275" align="center" valign="middle"><%= pagConcFundos.getValor(iLinha,"CHEQUES",2,2)%></td>
   <td width="275" align="right" valign="middle"> <%= SomaNaoPagos %> </td>
   <td width="200" align="center" valign="middle"><%= pagConcFundos.getValor(iLinha,"CHEQUES_DEVOLVIDOS",2,2)%></td>
  </tr>
  <%}%> 
 </table>
[b]e o erro acusado é o seguinte:[b]

2009-07-07 11:28:35 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception

java.lang.NumberFormatException: multiple points

at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1084)

at java.lang.Double.parseDouble(Double.java:482)

at org.apache.jsp.ConciliacaoFundos_jsp._jspService(ConciliacaoFundos_jsp.java:160)

at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)

at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)

at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

Desde já agradeço a ajuda!
um abraço!

1 Resposta

T

Provavelmente você deve ter algum dado como “1.234.567,89” e tentou passar isso para Double.parseDouble. Infelizmente, esse método espera que o dado esteja no formato americano e sem separadores de milhar (ou seja, “1234567.89”). Você pode usar NumberFormat.getNumberInstance() para obter um objeto NumberFormat que aceita o formato “1.234.567,89”; use o método parse dessa classe para obter um Number, e pegue o seu valor com o método doubleValue().

http://java.sun.com/javase/6/docs/api/java/text/NumberFormat.html

Criado 7 de julho de 2009
Ultima resposta 7 de jul. de 2009
Respostas 1
Participantes 2