javascript - Javascript 不会将 json 元素识别为数字
问题描述
我正在处理一个 json 对象并希望显示一个带两位小数的数字,但 javascript 说该类型是“未定义”。
我试过使用 .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>
解决方案
我认为 bal 已经是数字的类型。像这样使用:
console.log('bal ' + bal + typeof bal);
推荐阅读
- php - 为什么 preg_replace 从字符串中删除 + 符号?我想要 + 号包括
- ruby-on-rails - Rails:如果今天发生事件,则增加 db 列,否则创建新条目
- git - Git 克隆 EC2 实例权限错误
- javascript - 如何在js中显示当前和上个月?
- java - 是否可以在 @Component 类中的 3 个或更多 bean 之间进行优先级排序?
- android - html在android中的“选择多个”
- python - Python PuLP 递归错误
- javascript - 如何更改then()勺节点js中的变量内容
- elixir - Elixir - Map 单独替换特定的键值
- android - 如何正确处理 Room 线程