Float

4 respostas
Alexandre

Fala pessoal,
seguinte, tenho um dúvida…
tenho 2 variáveis do tipo Float( percentual1 e percentual2 ), a soma das duas tem q dar 100.0%, coloquei um campo pra editar a variavel percentual1, e o valor de percentual2 seria o valor de [color=“red”]Float percentual2 = 100.0 - percentual1[/color],
só que esta apontando um erro:
[color=“red”]The operator - is undefinedfor the argument type(s) java.lang.Float, java.lang.Float[/color].

Alguém pode me ajudar por favor;…
Desde ja agradeço.
[]'s
Alexandre Martins.

4 Respostas

Bani

“Float”, com letra maiúscula, é o nome de uma classe.
Classes não aceitam esses operadores. Você deve verificar na API se existe algum método que realize a subtração de dois Floats.
Porém, acredito que no caso seja mais fácil você utilizar o tipo primitivo float.
Apenas lembre-se de que por default o Java trabalha com double, então 100.0 em float na verdade deve ser escrito 100.0f, ou então você deve fazer o casting de double para float.

D

ou vc usa:

Float percentual2= new Float(100-percentual1.floatValue());

Paulo_Silveira

alexandre

esse problema é muito comum, como o pessoal falou, ou você trata ele como tipo primitivo, e utiliza os operadores, ou usa a classe wrapper, mas vai precisar pegar o valor toda vez

a partir do java 1.5, havera “conversao” automatica entre Float e float, assim como os outros tipos. isto é chamado autoboxing e unboxing (talvez autowrapping fosse mais apropriado)

Alexandre

Valeu pessoal, muito obrigado, mas como estava utilizando esta classe para representar um percentual, resolvi utilizar a classe BigDecimal, no pacote java.Math, esta classe tem métodos para adição, subtração…
e o numero de casas decimais dela é mais apropriado…

muito obrigado
[]'s
Alexandre Martins

Criado 8 de janeiro de 2003
Ultima resposta 10 de jan. de 2003
Respostas 4
Participantes 4