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.
Passar Float para float
9 Respostas
Oi,
Poderia colocar o trexo do problema? Pois somar float é simples…tá dando erro? Tá desprezando a parte decimal? Tá perdendo precisão?
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.
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
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.
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.
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
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.
org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of dto.Orcamento.valorDeslocamento
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…