Error en resultado

Hola,

Tengo un problema con este codigo, y funciona bien hasta que en el TextField2.text (segundahipoteca) se ingresan cantidades desde 6000 hasta 19999, la cantidad en el resultado del Label15.text es errneo. Aparece total2 cuando debe ser total3 porque el 5% esta por debajo de 250.

dim segundahipoteca as currency = CDbl(TextField2.text)
dim porciento as double = .005
dim costo as integer = 250
dim total1 as string = str(segundahipoteca * porciento)
dim total2 as string =str((total1), “$###,##0.00”)
dim total3 as string = str((costo), “$###,##0.00”)

if total1 <= total3 then
Label15.text = total3
Elseif total1 > total3 then
Label15.Text = total2
End if

Hola Ivn,

Sin ponerme a pensar demasiado en la lgica, te das cuenta que ests comparando strings, verdad? No comparas sus valores numricos.

Julen

¿Como los comparo? Porque cuando los cambio a integer, currency o double me aparecen errors cuando el resultado se envia a un label. Es un web app.

Tengo estos otros y no tengo problemas:

dim loanamount as currency = CDbl(TextField1.text)
dim cantidadresta as double = 15000000
dim decimal as double = .00125
dim entero as integer = 27825
dim primertotal as string = str(loanamount - cantidadresta)
dim segundototal as string = str(Val(primertotal) * decimal)
dim primera as string = str(Val(segundototal) + entero)
dim total as string = str(Val(primera), “$###,##0.00”)

Julen tenias razn, hice el cambio y resuelto.

dim segundahipoteca as currency = CDbl(TextField2.text)
dim porciento as double = .005
dim costo as integer = 250
dim total1 as double = segundahipoteca * porciento
dim total2 as string =str((total1), “$###,##0.00”)
dim total3 as string = str((costo), “$###,##0.00”)

if total1 <= 250 then
Label15.text = total3
Elseif total1 > 250 then
Label15.Text = total2
End if

Hola Ivn,

Me alegro de que lo hayas solucionado. De todas formas, cuando leo tu cdigo se me hace muy rara la conversin de variables numricas a strings. Como slo es parte de tu cdigo, y adems no s si lo ests usando as en tu aplicacin o slo es un ejemplo puede ser que lo que voy a comentar no tenga sentido. Si es as simplemente no me hagas ni caso.

En tu ejemplo tienes tres variables con nombres muy parecidos pero de dos tipos distintos (double y string). Eso puede inducir a errores ms adelante, creo que sera mejor que identificaras el tipo de variable que usas en su nombre (esto es una mana propia, y de mucha gente que se dedica a programar, porque a la larga mejora la facilidad de entender el cdigo).

Por otra parte, yo no creara las variables total2 y total3:

[code]dim segundahipoteca as currency = CDbl(TextField2.text)
dim porciento as double = .005
dim costo as integer = 250
dim total1 as double = segundahipoteca * porciento

if total1 <= 250 then
Label15.text = str((costo), “$###,##0.00”)
Elseif total1 > 250 then
Label15.Text = str((total1), “$###,##0.00”) [/code]

Un saludo,

Julen