¿Cómo cortar parte de un entero?


¿Qué puedo hacer para obtener un entero? 12 o 123 de una variable n

let n = 123456;
0
Qui-Gon Jinn 10 may. 2019 a las 08:19

3 respuestas

La mejor respuesta

Una manera simple de hacer esto sería simplemente emitir el número de entrada a una cadena y luego tomar una subcadena:

var n = 123456;
n = n + "";
var output = n.slice(0, 2);
console.log(output);

Otro enfoque, si todo lo que desea es obtener una cierta cantidad de dígitos iniciales, sería dividir por el múltiplo correcto de diez, p.

var n = 123456;
var output = Math.floor(output / 10000);
1
Tim Biegeleisen 10 may. 2019 a las 05:33

La estrategia que sugiero es convertir el valor entero en una cadena que puede manipular con parseInt () así como el método substr () de la cadena, de la siguiente manera:

const START       = 0;
const first_two   = 2;
const first_three = 3;
const base_ten    = 10;

let n = 123456;
let res = parseInt( String( n ).substr( START,first_two ),base_ten );
console.log(res);
res = parseInt(String( n ).substr( START,first_three ),base_ten );
console.log(res);

El Number Object tiene un método toString () pero aparentemente es más seguro convertir el número entero en una cadena pasando el valor entero de n al objeto String por esto discusión. Luego puede usar el método substr () del Objeto de cadena para acceder a los primeros dos o tres dígitos que aparecen en la cadena. A continuación, puede tomar la cadena numérica resultante y pasarla a parseInt (), junto con un parámetro base para obtener el valor entero.

0
slevy1 10 may. 2019 a las 06:41

Creo que esto funcionará para usted: primero lo cambia a cadena y lo divide en una matriz y luego elimina los caracteres no deseados, luego une la matriz y la analiza como un número entero: (editado para reflejar el comentario de @ VLAZ.

parseInt(n.toString().slice(0,2)));
0
Luka M 10 may. 2019 a las 13:44