Passar Float para float

9 respostas
fnandos

Como eu faço um cast disso, ta virado um problema por que eu não sei como, mas essa gambi aqui não ta aceitando meu campo como float (minusculo) e eu preciso somar com um float.

9 Respostas

rafaelglauber

Oi,

Poderia colocar o trexo do problema? Pois somar float é simples…tá dando erro? Tá desprezando a parte decimal? Tá perdendo precisão?

fnandos

tenho um campo valor valor do tipo float (f minusculo) e quero somá-lo com um campo valorDeslocamento do tipo Float (f maiusculo), como eu faço essa soma sabendo que

Float != float

é isso.

joede.fadel

f = f.valueOf("1.2"); float ff = (float) 1.2; System.out.println(ff+f.floatValue()+"");

Float é um objeto
float é um tipo de primitivo de dados

fnandos

ainda não é isso.

public float getValor() {
            float r = 0;
            for (Object a : this.getAmostras()) {
            r += ((AmostraOrcamento)a).getValor();
            }         
                                  
            r = r - desconto;
            if (r < 0) r = 0;
            return r;
            }

aqui dentro eu preciso somar aquele campo valor deslocamento, ele vem de um get, é uma aplicação web esqueci de dizer.

rafaelglauber

fnandos:
ainda não é isso.

public float getValor() {
            float r = 0;
            for (Object a : this.getAmostras()) {
            r += ((AmostraOrcamento)a).getValor();
            }         
                                  
            r = r - desconto;
            if (r < 0) r = 0;
            return r;
            }

aqui dentro eu preciso somar aquele campo valor deslocamento, ele vem de um get, é uma aplicação web esqueci de dizer.

Qual campo? “deslocamento”?? cadê ele?

Veja esse trecho:

float f = 1.00f; Float ff = 2.00f; ff = ff + f; f = ff + f;

ele é compilável.

fnandos
public float getValor() {  
               float r = 0;  
              for (Object a : this.getAmostras()) {  
              r += ((AmostraOrcamento)a).getValor();  
              }           
                                      
               r = (r + valorDeslocamento) - desconto;  
              if (r < 0) r = 0;  
               return r;  
              }

é isso que eu queria fazer, mas ai vem o problema inicial

rafaelglauber

float f = 1.00f; Float ff = 2.00f; Float desc = 3.00f; f = ((float)ff + f) - (float)desc; f = (ff + f) - desc;

O código acima é compilável ainda, você poderia dizer o que tá acontecendo? tá perdendo precisão? não tá compilando??? Sem você dizer o que tá acontecendo fica difícil…por que Float é um wrapper não deveria dá problema algum com as operações entre float.

fnandos
org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of dto.Orcamento.valorDeslocamento
rafaelglauber

fnandos:
org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of dto.Orcamento.valorDeslocamento

Não é recomendado utilizar tipos primitivos como atributos de suas classes persistentes, alias em poucos lugares se usa…veja se pode substituir suas propriedades pelas wrapper correspondentes.

exemplo: Float no lugar de float
Long no lugar de long…e etc…

Criado 4 de setembro de 2008
Ultima resposta 4 de set. de 2008
Respostas 9
Participantes 3