manejo - funciones numericas javascript
Cómo concatenar dos números en javascript? (12)
Ahora puede hacer uso de literales de plantilla ES6 .
const value = `${5}${6}`;
O, si tiene variables:
const value = `${someInt}${someOtherInt}`;
Personalmente encuentro la nueva sintaxis mucho más clara, aunque un poco más detallada.
Me gustaría que algo como 5 + 6
devuelva "56"
lugar de 11
.
Esta es la manera fácil de hacer esto
var value=5+""+6;
Otra posibilidad podría ser esta:
var concat = String(5) + String(6);
Sé que esta es una publicación anterior y me han respondido muchas veces. Yo también me preguntaba si JavaScript tenía una función que haría esto. Estaba haciendo algo de programación matemática y necesitaba concatenar dos números.
Entonces, qué pasaría si tuviera que combinar dos números 17 y 29. Seguro que puedo convertirlos en cadenas y concatenarlos, luego convertir la nueva cadena en un número. Eso parece funcionar bastante bien y puedo continuar con mi código, pero echemos un vistazo aquí e intentemos descubrir qué está pasando realmente aquí.
¿Qué estamos haciendo con estos dos números, cómo tomamos 17 y 29 y lo convertimos en mil setecientos veintinueve? Bueno, podemos multiplicar 17 por 100, luego sumar 29. Y ¿qué tal 172 y 293 para obtener ciento setenta y dos mil doscientos noventa y tres? Multiplique 172 por 1000 y agregue 293. Pero, ¿qué pasa con solo 2 y 9? Multiplica 2 por 10 y luego agrega 9 para obtener 29.
Así que espero que ahora un patrón sea evidente para usted. Podemos diseñar una fórmula matemática para hacer este cálculo por nosotros en lugar de simplemente usar cadenas. Para concatenar dos números, a y b, necesitamos tomar el producto de ay 10 con la potencia de longitud b y luego sumar b.
Entonces, ¿cómo obtenemos la longitud del número b? Bueno, podríamos convertir b en una cadena y obtener la propiedad de longitud de la misma.
a * Math.pow(10, new String(b).length) + b;
Pero tiene que haber una mejor forma de hacerlo sin cadenas, ¿verdad? Sí hay.
Para dos números, a y b, con cualquier base B. Vamos a multiplicar a por base B por la potencia de longitud b (usando la base de registro de b y luego plantarla para obtener el número entero más cercano y luego sumarle 1) luego agregando b.
Así que ahora nuestro código se ve así:
a * Math.pow(10, Math.floor(Math.log10(b)) + 1) + b;
Pero espera, ¿y si quisiera hacer esto en base 2 o base 8? ¿Cómo puedo hacer eso? No podemos usar nuestra fórmula que acabamos de crear con cualquier otra base, sino base 10. El objeto JavaScript Math ya tiene funciones integradas para la base 10 y 2 (solo Math.log), pero ¿cómo obtenemos funciones de registro para cualquier otra base? Dividimos el registro de b por el registro de la base. Math.log(b) / Math.log(base).
Así que ahora tenemos nuestro código matemático completamente funcional para concatenar dos números:
function concatenate(a, b, base) {
return a * Math.pow(base, Math.floor(Math.log(b) / Math.log(base)) + 1) + b;
}
var a = 17, var b = 29;
var concatenatedNumber = concatenate(a, b, 10);
// concatenatedNumber = 1729
Si supieras que solo vas a hacer matemática base 10, podrías agregar un cheque para la base indefinida y luego establecer base = 10:
function concatenate(a, b, base) {
if(typeof base == ''undefined'') {
base = 10;
}
return a * Math.pow(base, Math.floor(Math.log(b) / Math.log(base)) + 1) + b;
}
var a = 17, b = 29;
var newNumber = concatenate(a, b); // notice I did not use the base argument
// newNumber = 1729
Para hacerlo más fácil, utilicé el prototipo para agregar la función al objeto Number:
Number.prototype.concatenate = function(b, base) {
if(typeof base == ''undefined'') {
base = 10;
}
return this * Math.pow(base, Math.floor(Math.log(b) / Math.log(base)) + 1) + b;
};
var a = 17;
var newNumber = a.concatenate(29);
// newNumber = 1729
Solo usa:
5 + "" + 6
También puede usar la función toString
para convertirla en cadena y concatenar.
var a = 5;
var b = 6;
var value = a.toString() + b.toString();
Usa "" + 5 + 6
para forzarlo a las cuerdas. Esto también funciona con variables numéricas:
var a = 5;
var b = 6;
console.log("" + a + b);
Utilizar
var value = "" + 5 + 6;
forzarlo a cuerdas.
respuesta simple:
5 + '''' + 6;
enter code here
var a = 9821099923;
var b = 91;
alert ("" + b + a);
// after concating , result is 919821099923 but its is now converted
into string
console.log(Number.isInteger("" + b + a)) // false
you have to do something like below:-
var c= parseInt("" + b + a)
console.log(c); // 919821099923
console.log(Number.isInteger(c)) // true
var output = 5 + '''' + 6;
var value = "" + 5 + 6;
alert(value);