无法从txt文件中获取数字的总和

时间:2019-09-12 19:38:41

标签: javascript node.js

项目:

我正在开发一个node.js培训模块,并且其中一个小项目希望我执行以下操作:

  

说明:构建一个名为account.js的Node应用程序,该应用程序需要   用户通过命令行输入以注册交易。用户   必须能够输入:

     
      
  • 总计-这应该计算出银行余额中的所有金额并将其显示给用户。
  •   
  • 存款-这将使银行余额增加一个正数。不要向用户显示余额。
  •   
  • 提款-这将使银行结余增加负数。不要向用户显示余额。
  •   
  • lotto-90%的时间,这应从用户的余额中减去一个小帐户。另外10%的时间,这应该添加一个
      大量的用户余额。
  •   
     

每笔交易都应记录在.txt文件中。

     

提示:考虑制作一系列if-then或switch-case语句   识别交易类型和涉及的金额。

问题:

我无法获得txt文档中所有条目的总和。我使用以下代码将其存入:

function deposit() {
   // We will add the value to the bank file.
   fs.appendFileSync("bank.txt", amount);

}

此代码将允许我使用终端中的以下行将条目写入bank.txt文件:

node banking.js deposit 300

插入数字300、500、222后,当我打开txt文件时,数字看起来像300500222

现在,当我想查看总和时,我创建了总函数,如下所示:

function total() {

   sum = 0;

   for(let i=0; i < bankAccount.length; i++){
       sum+=bankAccount[i];
   }
   console.log(sum);

}

我将在终端中运行以下行:

node banking.js total

我的输出将是:

0300500222

如果您注意到它会将所有内容像一个字符串一样加在一起,并在前面加一个0。

我做了什么:

我尝试了各种方法,这些方法在堆栈上或在线上都找不到很多。我尝试获取实际的文本文件内容并使用split(),然后加入以查看是否可以将其转换为数组,但我没有成功,它只是将每个单独的数字而不是整个数字分开了。我也尝试使用JSON.stringify,然后进行解析,然后尝试进行转换,但是我遇到了困难,并且无法正常工作。

我要的是什么

只需要一些指导,一旦获得初始存款并完全正确,我将如何完成这项工作。我可以自己完成项目的其他部分。

这是我到目前为止的完整代码:

var fs = require("fs");
var bankAccount = fs.readFileSync("bank.txt","UTF-8");
let inputString = process.argv;
let action = inputString[2];
let amount = inputString[3];

if(action == "deposit"){
  deposit();
}else if(action == "withdraw"){
   withdraw();
}else if(action == "total"){
   total();
}else if(action == "lotto"){
   lotto();
}else{
   console.log("Please input whether it is a deposit, withdraw, total, or you wanna try the lotto?");
}

function total() {

   sum = 0;   
   for(let i=0; i < bankAccount.length; i++){
       sum+=bankAccount[i];
   }
   console.log(sum); 
}

function deposit() {

   fs.appendFileSync("bank.txt", amount);

}

1 个答案:

答案 0 :(得分:1)

您需要使用定界符才能使事务分离。这是一个使用Competitor aCompetitor = new Competitor(); CompetitorInEvent event1 = new CompetitorInEvent(aCompetitor); CompetitorInEvent event2 = new CompetitorInEvent(aCompetitor); 作为原始代码分隔符的示例:

space