Javascript无法将json元素识别为数字

时间:2019-03-21 21:00:26

标签: javascript undefined

我正在处理json对象,并希望显示一个带有两位小数的数字,但是javascript表示类型为'undefined'。

我尝试使用.toFixed(2),Number()和ParseFloat()将其强制为数字,甚至尝试使用String()强制将其更改为字符串,但它固执保持为“未定义”。 typeof甚至都不被认为是原始元素的属性。

当然,有一种方法可以将其转换/正确定义。非常感谢您的帮助,并解释了为什么我的工作不起作用。

data = {
  list: {
    9: {
      balance: 256.3999999999942
    }
  },
  action: 'load',
  status: 'ACCTLOADED'
}

showAccounts(data);

function showAccounts(data) {
  action = data.action;
  status = data.status;
  accs = data.list;

  if ((action == 'load') && (status == 'ACCTLOADED')) { // data retrieved
    $.each(accs, function(acc, details) { // display each account
      let bal = 0;
      bal = Number(details.balance);
      console.log('bal ' + bal + bal.typeof);
    });
  }
} // end function showAccounts
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

1 个答案:

答案 0 :(得分:1)

我认为bal已经是数字类型。 使用方式:

console.log('bal ' + bal + typeof bal);