[Discord JS] Calculadora, problema con la operación de sumar


Dark

🔥root313🔥
Staff
Moderador
Paladín de Nodo
Jinete de Nodo
Burgués de Nodo
Noderador
Nodero
Noder Pro
Noder
Bien, lo que ocurre es lo que siguiente, estoy haciendo un comando, para sumar, restar, dividir y multiplicar 2 valores (o más, eso ya más adelante) y no puedo hacer la operación de suma.

¿Por que? Porque estoy intentando sumar strings, no números, en Discord JS si pongo un string el signo de la suma y otro string, lo único que hace es juntarlos, es como los str en python (@CyberPlug)

Las otras operaciones si que puedo hacerlas porque los signos no se usan para otras cosas como es el caso de la suma, que se usa para juntar strings y valores o lo que sea en un mismo string (no se de lo que hablo la verdad)

Aquí está el código y el output:

Código:
client.on("message", (message) => {
    if(message.content.startsWith(prefix + "operate")) {
        const args = message.content.slice(prefix.length).trim().split(' ');
        console.log(args[1] - args[2])
        console.log(args[1] / args[2])
        console.log(args[1] * args[2])
        console.log(args[1] + args[2])
    }
});
1611174045766.png


Como podéis observar, los 3 primeros resultados salen en amarillo, porque representan un número, el cuarto resultado está en gris porque representa un texto.

Alguien sabe como coño sumo 2 textos/strings o como se digan?

(Una idea que tenía era convertir la constante args en números directamente, osea, pasarlo de texto a números, pero no sabría como hacerlo, he probado de poner parseInt() al principio de la constante (después de const args =) pero no ha funcionado, los resultados eran NaN.
 

Alexlealxd01

HISTORIADOR Y BIÓLOGO DEL FORO
Noderador
Nodero
Noder
Bien, lo que ocurre es lo que siguiente, estoy haciendo un comando, para sumar, restar, dividir y multiplicar 2 valores (o más, eso ya más adelante) y no puedo hacer la operación de suma.

¿Por que? Porque estoy intentando sumar strings, no números, en Discord JS si pongo un string el signo de la suma y otro string, lo único que hace es juntarlos, es como los str en python (@CyberPlug)

Las otras operaciones si que puedo hacerlas porque los signos no se usan para otras cosas como es el caso de la suma, que se usa para juntar strings y valores o lo que sea en un mismo string (no se de lo que hablo la verdad)

Aquí está el código y el output:

Código:
client.on("message", (message) => {
    if(message.content.startsWith(prefix + "operate")) {
        const args = message.content.slice(prefix.length).trim().split(' ');
        console.log(args[1] - args[2])
        console.log(args[1] / args[2])
        console.log(args[1] * args[2])
        console.log(args[1] + args[2])
    }
});
Ver el archivo adjunto 17666

Como podéis observar, los 3 primeros resultados salen en amarillo, porque representan un número, el cuarto resultado está en gris porque representa un texto.

Alguien sabe como coño sumo 2 textos/strings o como se digan?

(Una idea que tenía era convertir la constante args en números directamente, osea, pasarlo de texto a números, pero no sabría como hacerlo, he probado de poner parseInt() al principio de la constante (después de const args =) pero no ha funcionado, los resultados eran NaN.
hubiera sido mejor y mas facil hacerla en C++ o python no crees? Pero buen aporte :D
 

Dark

🔥root313🔥
Staff
Moderador
Paladín de Nodo
Jinete de Nodo
Burgués de Nodo
Noderador
Nodero
Noder Pro
Noder
hubiera sido mejor y mas facil hacerla en C++ o python no crees? Pero buen aporte :D
A ver... No te has catado, de que Discord JS es para programar BOTS de discord, yo programo bots de discord en Discord JS, no tengo puta idea de C++, python ya hice una calculadora:

 

Rodkaiser

Més que un nodero | Verdunchderechista
Noderador
Nodero
Noder
Bien, lo que ocurre es lo que siguiente, estoy haciendo un comando, para sumar, restar, dividir y multiplicar 2 valores (o más, eso ya más adelante) y no puedo hacer la operación de suma.

¿Por que? Porque estoy intentando sumar strings, no números, en Discord JS si pongo un string el signo de la suma y otro string, lo único que hace es juntarlos, es como los str en python (@CyberPlug)

Las otras operaciones si que puedo hacerlas porque los signos no se usan para otras cosas como es el caso de la suma, que se usa para juntar strings y valores o lo que sea en un mismo string (no se de lo que hablo la verdad)

Aquí está el código y el output:

Código:
client.on("message", (message) => {
    if(message.content.startsWith(prefix + "operate")) {
        const args = message.content.slice(prefix.length).trim().split(' ');
        console.log(args[1] - args[2])
        console.log(args[1] / args[2])
        console.log(args[1] * args[2])
        console.log(args[1] + args[2])
    }
});
Ver el archivo adjunto 17666

Como podéis observar, los 3 primeros resultados salen en amarillo, porque representan un número, el cuarto resultado está en gris porque representa un texto.

Alguien sabe como coño sumo 2 textos/strings o como se digan?

(Una idea que tenía era convertir la constante args en números directamente, osea, pasarlo de texto a números, pero no sabría como hacerlo, he probado de poner parseInt() al principio de la constante (después de const args =) pero no ha funcionado, los resultados eran NaN.
No tengo ni idea de Discord JS, pero si te deja restar, por qué no conviertes el segundo número en su opuesto y lo restas?

Me explico:

a1=3;

a2=12;

aux=0-a2; (Pongo 0-a2 porque no sé si dejará -a2 simplemente)

suma=a1-aux; 3-(-12)=15
 

Dark

🔥root313🔥
Staff
Moderador
Paladín de Nodo
Jinete de Nodo
Burgués de Nodo
Noderador
Nodero
Noder Pro
Noder
No tengo ni idea de Discord JS, pero si te deja restar, por qué no conviertes el segundo número en su opuesto y lo restas?

Me explico:

a1=3;

a2=12;

aux=0-a2; (Pongo 0-a2 porque no sé si dejará -a2 simplemente)

suma=a1-aux; 3-(-12)=15
la constante args son como en python, input, es un valor indefinido hasta que se define en el comando, en plan, !operate 30 10 (args[1] es 30 y args[2] es 30, y así infinitamente depende de la cantidad de args que haya, por lo tanto, no puedo invertir un número o lo que sea, para eso debería establecerle un valor a lo que estoy sumando, y el valor se establece en cuanto se ejecuta el comando ,esa es la gracia de la calculadora, da igual, ya está resuelto, era cuestión de poner parseInt() en cada fragmento de la suma.

Como el que pone str(input, pues lo mismo. (creo que era str si n ome equivoco)
 

Rodkaiser

Més que un nodero | Verdunchderechista
Noderador
Nodero
Noder
la constante args son como en python, input, es un valor indefinido hasta que se define en el comando, en plan, !operate 30 10 (args[1] es 30 y args[2] es 30, y así infinitamente depende de la cantidad de args que haya, por lo tanto, no puedo invertir un número o lo que sea, para eso debería establecerle un valor a lo que estoy sumando, y el valor se establece en cuanto se ejecuta el comando ,esa es la gracia de la calculadora, da igual, ya está resuelto, era cuestión de poner parseInt() en cada fragmento de la suma.

Como el que pone str(input, pues lo mismo. (creo que era str si n ome equivoco)
Entiendo, no son variables. Yo es que de JS no sé mucho, Me alegro de que lo hayas solucionado