FoxPro/Visual FoxPro - division por cero

 
Vista:

division por cero

Publicado por jose camilo (805 intervenciones) el 28/06/2021 18:33:24
1.#INF

como determinar si en campos numéricos tengo este bendito signo,
claro ya controle la división sobre cero, pero el problema es que ya tengo mas de 200 cliente corriendo la actualización anterior de mi sistema.
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
sin imagen de perfil
Val: 147
Bronce
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

division por cero

Publicado por zarlu (97 intervenciones) el 29/06/2021 16:22:52
Buenos días José Camilo!

Podrías confirmar a que signo te refieres? ("1.#INF"???!!!)

La división entre cero produce un desbordamiento y muestra los campos con "***********"

Prueba este ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
CLEAR
CREATE CURSOR micursor(dato n(3), desbordado c(2))
lcCampo="dato"&&campo a validar
FOR a=101 TO 103
    INSERT INTO micursor(dato) values(a)
ENDFOR
FOR a=1 TO 3
    INSERT INTO micursor(dato) values(a*1000)
ENDFOR
FOR a=21 TO 23
    INSERT INTO micursor(dato) values(a)
ENDFOR
FOR a=201 TO 203
    INSERT INTO micursor(dato) values(1*1000)
ENDFOR
*UPDATE micursor SET desbordado="SI" WHERE LEN(ALLTRIM(STR(&lcCampo)))>FSIZE(lcCampo)&&igual funciona
*UPDATE micursor SET desbordado="SI" WHERE &lcCampo>9999999999999999999&&igual funciona
UPDATE micursor SET desbordado="SI" WHERE "*" $ ALLTRIM(STR(&lcCampo))&&igual funciona
BROWSE

Suerte
zarlu
Chetumal, Quintana Roo, México
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

division por cero

Publicado por jose camilo (805 intervenciones) el 30/06/2021 01:18:29
gracias zarlu por contestar, esta 1.#INF aparece en access especialmente si usas mdb, cuando trabajas con base de datos accdb no sucede.
al trabajar en sql server da error ya que el manejador de base de datos no permite este tipo de valor,
en vfp sucede que al llamar la data desde la base de datos trabajar con ellas en un cursor data numeric data overflow.
pero aun asi tomare en cuentas tu recomendaciones
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