Javascript-Can't使用ParseInt转换后减去Ints
Javascript - Can't subtract Ints after converting with ParseInt
变量logincompare_user取自login,它为我们提供了用户在列表中的位置,他们相应的钱将在aherrors和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');
}
}
由于===
将检查transfer_1和parseInt(transfer_1)的类型和值,所以下面的行永远不会变成true
。
if (transfer_1 <= cta_monetaria && transfer_1 === parseInt(transfer_1))
您可以执行以下操作。
var transfer_1 = prompt("Cuanto desea transferir?");
transfer_1 = parseInt(transfer_1);
if (transfer_1 != undefined && transfer_1 <= cta_monetaria) {
cta_ahorro = cta_ahorro + transfer_1;
cta_monetaria = cta_monetaria - transfer_1;
}
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- 如何在Javascript中将JSon对象转换为数组
- 使用JS将数组转换为json对象
- 如何使用json将对象列表从java转换为javascript
- 偶尔结结巴巴地说“;堆叠的”;translate()上的转换(v4.0.0-alpha40)
- 为什么在单独的函数中应用时转换会闪烁/断断续续(D3)
- 在Javascript中转换对象数组
- 将数字转换为一定数量的硬币
- 将纯文本URL转换为可单击链接
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 如何使用js将SNAPSHOT内部版本号转换为3位数的整数
- 如何将TypeScript对象转换为普通对象
- 检测个位数整数时正在转换毫秒
- 从javascript到jquery的转换
- DOM事件通过JSON转换为java
- 将圆柱体转换为弯管
- 混合 ui-sref 和 $state.go 在 Angular ui-router 中进行状态转换
- JavaScript代码问题:我正在将对象转换为数组
- 大的 JavaScript ints 不会在没有舍入的情况下转换为 String
- Javascript-Can't使用ParseInt转换后减去Ints