反应数格式为数千个逗号,toLocaleString不起作用?

时间:2018-11-02 07:11:12

标签: javascript reactjs

我需要格式化来自响应对象的数字,以使其在数千个位置具有逗号。

我尝试使用.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()));
  }

1 个答案:

答案 0 :(得分:0)

变量test必须在2之前是toLocaleString,因为否则它将转换为"2,000",而不是您提到的"2"

证明:

var test = 2000.0;
console.log(test.toLocaleString('en'));

// prints: 2,000

因此,您需要使用调试器运行代码,或仅在console.log(test);行之前添加toLocaleString进行确认。