Calculando variaveis de sessão

Olá
Tenho as seguintes variaveis de sessao:

session.getAttribute(“valor1”) = 3720.0
session.getAttribute(“valor2”) = 2300.0
session.getAttribute(“valor3”) = 2808.0

session.setAttribute(“total”, ((Double)session.getAttribute(“valor1”) - (Double)session.getAttribute(“valor2”) + (Double)session.getAttribute(“valor3”) ) );

Se os valores das variaies estiverem maior que zero funciona

session.getAttribute(“valor1”) = 3720.0
session.getAttribute(“valor2”) = 2300.0
session.getAttribute(“valor3”) = 0.00

session.setAttribute(“total”, ((Double)session.getAttribute(“valor1”) - (Double)session.getAttribute(“valor2”) + (Double)session.getAttribute(“valor3”) ) );

Gostaria de subtrair e somar essas treis variaveis de sessão e totalizar em uma outra, porem quando uma delas está zerada eu tenho o seguinte err:

500 Internal Server Error
java.lang.ClassCastException: java.lang.String

Grato

como você consegue fazer cast forcado de uma string pra um Double?
experiemente…
Double.parseDouble(String);

[quote=ercardoso]como você consegue fazer cast forcado de uma string pra um Double?
experiemente…
Double.parseDouble(String);
[/quote]

Não funciona tb.

como não funcionou?
um exemplo classico…
String nome = “1.23”;
Double valor = Double.parseDouble(nome);

corrigindo…
Double.parseDouble retorna um double primitivo.
pra um Objeto do tipo Double use Double.valueOf(String)