Estoy usando este trazador de líneas para generar un número aleatorio de 18 dígitos:
Math.floor(100000000000000000 + Math.random() * 900000000000000000)El problema es que siempre contiene uno o más ceros al final, y no entiendo por qué.
¿Cómo puedo generar un número realmente aleatorio que siempre contenga 18 dígitos y sin un cero inicial?
Tiene demasiados dígitos, está corriendo contra el límite de precisión en un número de JavaScript.
Parece un problema con el rango de número máximo. Puedes hackearlo así. Y es un mejor número aleatorio.
Math.floor(10000000000000000 + Math.random() * 90000000000000000)+ "" + Math.floor(Math.random()* 100)Pero si analiza a int, tiene el mismo problema.
La solución para esto hasta ahora es generar dos números (10 dígitos + 8 dígitos) y concatenarlos de la siguiente manera:
Math.floor(1000000000 + Math.random() * 9000000000) + "" + Math.floor(10000000 + Math.random() * 90000000)