Javascript 不会将 json 元素识别为数字

Javascript won't recognise json element as number

我正在处理一个 json 对象并想显示一个有两位小数的数字,但是 javascript 说类型是 'undefined'.

我尝试过使用 .toFixed(2)、Number() 和 ParseFloat() 强制它成为一个数字,我什至尝试过 String() 强制它变成一个字符串,但是它固执地保持为 'undefined'。 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>

我认为 bal 已经是数字类型了。 像这样使用:

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