[RESUELTO] ¿mal funcionamiento de IsNumeric?

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
JorgeSan
Mensajes: 7
Registrado: Dom Abr 01, 2012 12:12 pm

[RESUELTO] ¿mal funcionamiento de IsNumeric?

Mensaje por JorgeSan »

Hola a todos
Me ocurre que en una de mis macros donde introduzco datos de clientes, basado en el programa de ejemplo del excelente manual de Mauricio, debo comprobar que el NIF (número de identificación fiscal en España) no es un número, puesto que debe llevar una letra, al menos.
Me funciona perfecto hasta que doy con un dato concreto, solamente ocurre con cadenas compuestas de números con la letra "D" al final.
el código es el siguiente:

Código: Seleccionar todo

Sub comprobacion ( )

	If IsNumeric( "71127946D" ) Then
		MsgBox "Es numérico"
	Else
		msgbox "No es numérico"
	End If

End sub
En este caso obtengo el mensaje "es numérico" cuando no debería serlo. Cambiando los números ocurre igual, siempre que tenga la letra "D" al final. Si la letra es otra, como "A", "B" ó "C", la respuesta es "no es numérico".
Me ocurre en LibO 3.5 y LibO 3.6 corriendo en windows 7 profesional x64 SP1
¿pueden probarlo y decirme si es un fallo mío o de LibO?
Gracias
Última edición por JorgeSan el Mar Ago 28, 2012 11:21 am, editado 1 vez en total.
LibreOffice 3.5 en Windows7 profesional x64 SP1
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: ¿mal funcionamiento de IsNumeric?

Mensaje por mauricio »

Hola...

La D y la E tiene un significado especial al usarse en las variables, compruebalo:

Código: Seleccionar todo

	s = 123d
	MsgBox TypeName(s)
Te sugiero cambiar tu algoritmo para verificar tu valor...

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
JorgeSan
Mensajes: 7
Registrado: Dom Abr 01, 2012 12:12 pm

Re: ¿mal funcionamiento de IsNumeric?

Mensaje por JorgeSan »

Ah ya entiendo :oops: , la letra D designa el tipo de dato Double
Muchas gracias, Mauricio, por tu inestimable ayuda.
Por suerte ya tenía incluidas más verificaciones en mi algoritmo, que son suficientes para verificar el dato.
LibreOffice 3.5 en Windows7 profesional x64 SP1
Avatar de Usuario
SLV-es
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España
Contactar:

Re: [Resuelto] ¿mal funcionamiento de IsNumeric?

Mensaje por SLV-es »

Sólo por que viene a cuento, en Función letra NIF tienes una función para validar la letra del NIF español.
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
JorgeSan
Mensajes: 7
Registrado: Dom Abr 01, 2012 12:12 pm

Re: [RESUELTO] ¿mal funcionamiento de IsNumeric?

Mensaje por JorgeSan »

Gracias
LibreOffice 3.5 en Windows7 profesional x64 SP1
Responder