繁体   English   中英

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

[英]React number format for thousands comma, toLocaleString not working?

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

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

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

证明:

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

// prints: 2,000

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM