Visual Basic.NET - Remplazo de Nan por Cero

 
Vista:
Imágen de perfil de PAUL
Val: 32
Ha disminuido su posición en 5 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Remplazo de Nan por Cero

Publicado por PAUL (17 intervenciones) el 16/06/2020 21:16:12
Buenos dias:
Mi consulta es, si se podría remplazar el NaN (Valor infinito) por el numero cero.
Muchas gracias por su colaboración.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Remplazo de Nan por Cero

Publicado por Nacho (56 intervenciones) el 17/06/2020 10:30:46
NaN no es un infinito. NaN es un not a number, y el infinito sí es un número.
NaN es algo no representable como número, como una raiz cuadrada de un número negativo, o representable como más de un número, una indeterminación, como infinito / 7, por ejemplo. El 0 sí es un número, y cambiar una cosa que no es por otra que sí es sin alterar el resultado no suele ser posible.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de PAUL
Val: 32
Ha disminuido su posición en 5 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Remplazo de Nan por Cero

Publicado por PAUL (17 intervenciones) el 19/06/2020 15:26:01
Buenos días,
investigando si es posible ya encontré como hacerlo,para los cálculos numéricos por computador, como el lógico;al realizar
la siguiente operación AT = A1+A2 +A3 +A4 +A5, si A5 fuese infinito la suma AT me daría NaN, pero VB.Net no da las herramientas para poder remplaza A5 por cero usando el método IsNaN.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
If single.IsNaN (A1) then
       A5 = 0
end if
 
If single.IsNaN (A2) then
       A2 = 0
end if
 
If single.IsNaN (A3) then
       A3 = 0
end if
 
If single.IsNaN (A4) then
       A4 = 0
end if
 
If single.IsNaN (A5) then
       A5 = 0
end if
 
AT = A1+A2+A3+A4+A5

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Remplazo de Nan por Cero

Publicado por Nacho (56 intervenciones) el 19/06/2020 15:48:56
Pero qué graciosos que sois los que programáis en vb. Ahora venimos a descubrir que
if a=5 and [no te gusta que valga 5] then a=7
y ya está.
Lo que está es claro, hay que pasar de este foro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de PAUL
Val: 32
Ha disminuido su posición en 5 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Remplazo de Nan por Cero

Publicado por PAUL (17 intervenciones) el 21/06/2020 18:46:41
Buenos días, muy ajuste su comentario,

"Lo que está es claro, hay que pasar de Foro"...........En el grupo deben haber reglas de convivencia.

Le explico de todas maneras ya lo solucioné:

if a=5 and [no te gusta que valga 5] then a=7, ( Como Ud lo plantea)

no es poner a= 5 y cambiarlo bajo una condición;
para mi programa por ejemplo ese valor que a=5, ese numero 5 lo calcula (Líneas mucho mas arriba con ecuaciones, las cuales en ocaciones me da NaN:

a5 = (9245 * l * (H - f1) * q) / (V * C), cuyo denominador =0, donde "a5" tiene un valor NaN:

VT= a1 +a2+a3....a5(NaN) ;

VT= NaN

Está bien lo que ud, me plantea en su comentario; pero en mi caso, eso me implicaría mover varias líneas de código,
la solución estaba solo poner una condición, a cada sumando para que cuando me genere ese NaN, la suma sea un numero real, no infinito:

If single.IsNaN (A5) then
A5 = 0
end if

"Cada programa se adaptas a las diferentes necesidades ."

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar