Soporte de enteros mayores que integer32

Traducido automáticamente de Deepl

Aunque se sabe que los Reales son poco precisos, son 100% exactos incluso para números muy grandes, siempre que no utilicen un punto decimal (=integros).

Los números de hasta 53 bits, o más exactamente, [-(2^53)+1, (2^53)-1], es decir, un rango de -9.007.199.254.740.992 a 9.007.199.254.740.992, se representarán exactamente.

Más sobre los Reales

Si miras la definición de punto flotante binario de doble precisión en Wikipedia, esto es lo que encontrarás sobre la división y precisión de los dígitos

«La precisión del significante de 53 bits da una precisión de 15 a 17 dígitos decimales significativos (2-53 ≈ 1,11 × 10-16). Si una cadena decimal con un máximo de 15 dígitos significativos se convierte a la representación de doble precisión IEEE 754 y luego se convierte de nuevo a una cadena decimal con el mismo número de dígitos, el resultado final debería coincidir con la cadena original. Si un número de doble precisión IEEE 754 se convierte a una cadena decimal con al menos 17 dígitos significativos y luego se vuelve a convertir a la representación de doble precisión, el resultado final debe coincidir con el número original.»

Convertir a cadena

Aunque durante muchos años era posible realizar cálculos sobre números grandes con el tipo Real, la conversión a o desde el texto se limitaba a utilizar la notación científica de 12 dígitos, con lo que se perdía precisión.

Con 4D v19 R6, hemos mejorado la precisión y la conversión de un número Real (que presenta un entero) en un Texto.

La mejora de la conversión a cadena afecta al comando String() y a los comandos JSON y XML que devuelven números en forma de cadena.

Editor de código

Por ejemplo, ahora puede escribir en el editor de código

$r:=2147483647000000
y se quedará como está en lugar de formatearse como
$r:=2.147483647e+15
¡Feliz codificación!

Vanessa Talbot
• Propietario de producto - Vanessa Talbot llegó al equipo de 4D Program en junio de 2014. Como Propietario de producto, está a cargo de escribir las historias de los usuarios y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la funcionalidad entregada cumpla con las necesidades del cliente. Desde su llegada, ha trabajado en la definición de funcionalidades claves en 4D. Ha trabajado en la mayoría de las nuevas funcionalidades de multi hilo apropiativo y también en un tema muy complejo: la nueva arquitectura para la aplicación engined. Vanessa es licenciada por Telecom Saint-Etienne. Comenzó su carrera en el Instituto de Investigación Criminal como desarrolladora del departamento audiovisual. También ha trabajado en medios de comunicación y en el ámbito médico como experta en soporte técnico, producción y documentación de nuevas funcionalidades.