变量logincompare_user取自登录名,该变量为我们提供了用户在列表中的位置,并且他们相应的钱在ahorros和monetaria列表中的相同位置。为什么此减法不起作用?
var ahorros = [5000,6000,10000];
var monetaria = [2000,15000,1000];
var registro = [];
function transferencias(ahorros ,monetaria,registro,logincompare_user){
var cta_ahorro = ahorros[logincompare_user];
var cta_monetaria = monetaria[logincompare_user];
registro.push("Entrada a Transferencias " + Math.floor(Date.now()/1000) + '\n');
var eleccion_cta = prompt('Bienvenid@ a Transferencias, que desea hacer?\n'+
"1 - Ahorros a Monetaria\n"+
'2 - Monetaria a Ahorros\n'+
'0 - Log Out');
while (eleccion_cta >= 0 && eleccion_cta <= 2){
if (eleccion_cta == 1){
var transfer = prompt("Cuanto desea transferir?",0);
var trans_int = parseInt(transfer,0);
if (trans_int <= cta_ahorro){
cta_ahorro = cta_ahorro - transfer;
cta_monetaria = cta_monetaria + transfer;
}
else{
alert("Error");
transferencias(ahorros,monetaria,registro,logincompare_user);
}
}
else if (eleccion_cta == 2){
var transfer_1 = prompt("Cuanto desea transferir?");
if (transfer_1 <= cta_monetaria && transfer_1 === parseInt(transfer_1)){
cta_ahorro = cta_ahorro + transfer_1;
cta_monetaria = cta_monetaria - transfer_1;
}
else{
alert("Ingrese un numero por favor");
transferencias(ahorros,monetaria,registro,logincompare_user);
}
}
else if (eleccion_cta == 0){
log_out(logincompare_user,registro,ahorros,monetaria)
}
else{
alert("Opcion Invalida");
transferencias(ahorros,monetaria, registro,logincompare_user)
}
}
最佳答案
您正在将transfer
变量添加/减去到cta_ahorro
和cta_monetaria
中,而不是trans_int
变量中。 transfer
是字符串,当您尝试使用 int 变量添加它时,会引起问题。我已更正您的代码,并在下面提到:
var ahorros = [5000,6000,10000];
var monetaria = [2000,15000,1000];
var registro = [];
function transferencias(ahorros, monetaria, registro, logincompare_user) {
var cta_ahorro = ahorros[logincompare_user];
var cta_monetaria = monetaria[logincompare_user];
console.log(cta_ahorro); // Printing for confirmation
console.log(cta_monetaria); // Printing for confirmation
registro.push("Entrada a Transferencias " + Math.floor(Date.now() / 1000) + '\n');
var eleccion_cta = prompt('Bienvenid@ a Transferencias, que desea hacer?\n' +
"1 - Ahorros a Monetaria\n" +
'2 - Monetaria a Ahorros\n' +
'0 - Log Out');
while (eleccion_cta >= 0 && eleccion_cta <= 2) {
if (eleccion_cta == 1) {
var transfer = prompt("Cuanto desea transferir?", 0);
var trans_int = parseInt(transfer, 0);
if (trans_int <= cta_ahorro) {
cta_ahorro = cta_ahorro - trans_int; // Here is change
cta_monetaria = cta_monetaria + trans_int; // Here is change
console.log(cta_ahorro); // Printing for confirmation
console.log(cta_monetaria); // Printing for confirmation
}
else {
alert("Error");
transferencias(ahorros, monetaria, registro, logincompare_user);
}
}
else if (eleccion_cta == 2) {
var transfer = prompt("Cuanto desea transferir?");
var trans_int = parseInt(transfer, 0);
if (trans_int <= cta_monetaria) {
cta_ahorro = cta_ahorro + trans_int; // Here is change
cta_monetaria = cta_monetaria - trans_int; // Here is change
console.log(cta_ahorro); // Printing for confirmation
console.log(cta_monetaria); // Printing for confirmation
}
else {
alert("Ingrese un numero por favor");
transferencias(ahorros, monetaria, registro, logincompare_user);
}
}
else if (eleccion_cta == 0) {
log_out(ahorros, monetaria, registro, logincompare_user)
}
else {
alert("Opcion Invalida");
transferencias(ahorros, monetaria, registro, logincompare_user)
}
var eleccion_cta = prompt('Bienvenid@ a Transferencias, que desea hacer?\n' +
"1 - Ahorros a Monetaria\n" +
'2 - Monetaria a Ahorros\n' +
'0 - Log Out');
}
}
关于Javascript-使用ParseInt转换后无法减去Ints,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33966927/