¿Característica o error de JSL?Tengo una función que se basa en saber si una subcadena de una cadena más grande representa un número o no, y simplemente uso el resultado del comando Num(); si devuelve un valor faltante, supongo que la subcadena no representa un número. .
Sin embargo, un usuario señaló un error que tenía como causa raíz el hecho de que el comando Num() se adapta perfectamente a cualquier número precedido por la literal "R".
¿Alguien es consciente de que esto es una característica o un error?Intenté buscar en el índice de secuencias de comandos pero no se me ocurre una consulta bien planteada para esto.
¡Gracias!
Print( Num( "R404" ) );
Print( Num( "R123.456" ) );
Print( Num( "r99" ) );
/*
404
123.456
.
*/
Automatización y secuencias de comandosRe: ¿Característica o error de JSL?@Audrey_Shull
Estaba teniendo un problema con una columna importada como carácter.
No pude ver nada que no fuera numérico a simple vista.
Pero al convertirlo en numérico, la mayoría de los valores desaparecieron. (con JMP 16.2 Pro)
Pero usando JMP 17EA pude transformar inmediatamente de carácter a numérico sin que desaparecieran los valores.
Entonces hubo algunos avances allí.
¡Espero que ayude!
ben
Re: ¿Característica o error de JSL?Saludos a todos. Parece que se ha trabajado algo sobre este tema en el plazo del JMP 17. Específicamente, se agregó un argumento adicional a Num() e Informat() para ayudarlo a controlar lo que se considera un número válido. Cualquier usuario de JMP 17 EA7 (o posterior) puede probar esto ahora; otros tendrán que esperar hasta que JMP 17 esté disponible en el otoño de 2022. ¡Gracias por informar esto! Supervisamos estos foros y buscamos solucionar este tipo de problemas cuando sea posible.
Re: ¿Característica o error de JSL?Envié una nota a los equipos de desarrollo y documentación de JMP. ¡Gracias!
Re: ¿Característica o error de JSL?Parece probable que haya moneda, pero realmente no puedo decir si se trata de una característica; si lo es, ciertamente necesita una mejor documentación en varios lugares diferentes.Si ya tienes una idea de cuál es el número debería Aunque parece que sería mejor que escribiera su propia función de validación para esos datos, creo que eso evita que cosas como '1/1' se interpreten como el 1 de enero. Por supuesto, esto se vuelve más difícil si se trata de varios idiomas.
num_validated = function({v}, {r=.},
if( //Make sure anything with odd characters is missing
is missing(regex(v,"^[0-9\.\,]+$")),
r = .,
//try to interpret everything else using 'num':
r = num( v );
);
r;
);
show(
num_validated("1"),
num_validated("1.0"),
num_validated("R1"),
num_validated("1,000")
);Re: ¿Característica o error de JSL?Me doy cuenta de que hay muchos casos a los que prestar atención, pero específicamente solo necesito preocuparme por los caracteres estándar y "R" es el único ejemplo aquí.En cualquier otro lenguaje de programación, esto estaría bien documentado o se consideraría un error (cualquier comportamiento que no esté explícitamente listado en la documentación es un error), pero JMP no está en ese nivel de documentación, por lo que probablemente sea solo una característica oculta.
Re: ¿Característica o error de JSL?Moneda, tal vez. Muchos casos extraños a los que prestar atención...
número("$5")
5
número("1enero2000")
3029529600
número("5%")
0,05
fechaas(núm("1/1"))
01 de enero de 2001