我需要格式化来自响应对象的数字,以使其在数千个位置具有逗号。
我尝试使用.toLocaleString,但是它只是删除了所有零?即在下面的示例中,当将其设置为2000.0或2000时,它将“ test”变成2。
这里发生了什么,如何使我的值显示为逗号?
var test = 2000.0;
fetch(url)
.then((response) => response.json())
.then((data) => {
cards[0].value = test.toLocaleString('en') || 100;
cards[1].value = data['xxx'] || 100;
cards[2].value = data['xxx'] || 100;
cards[3].value = data['xxx'] || 100;
cards[4].value = data['xxx'] || 100;
cards[5].value = data['xxx'] || 100;
this.setState({ xxx: cards });
})
.catch((err) => console.log(err.toString()));
}
答案 0 :(得分:0)
变量test
必须在2
之前是toLocaleString
,因为否则它将转换为"2,000"
,而不是您提到的"2"
。
证明:
var test = 2000.0;
console.log(test.toLocaleString('en'));
// prints: 2,000
因此,您需要使用调试器运行代码,或仅在console.log(test);
行之前添加toLocaleString
进行确认。