将NaN转换为数字

时间:2018-04-25 17:01:21

标签: javascript d3.js

我正在导入一个这样的数据集:

Year,Spain,Rest
2017,"1,688","5,787"
2016,"1,787","5,505"
2015,"1,826","5,187"
2014,"1,822","4,861"

我需要将这些数字转换为数字以显示在D3图表中。我试图使用这两个版本的代码来做到这一点,但我仍然得到NaN作为答案,所以我不知道如何解决这个问题:

d3.csv("stores.csv", function(d, i, columns) {
  for (i = 1, t = 0; i < columns.length; ++i) {
    t += d[columns[i]] = +d[columns[i]];
  }
  d.total = t;
  return d;
}, function(error, data) {
  if (error) throw error;
  console.log(data);
  var keys = data.columns.slice(1);

  data.forEach(function(d) {
    d.Year = parseDate(d.Year);
    d["Spain"]= +(d["Spain"]);
    d["Rest"] = +d["Rest"];
    d["total"] = +d["total"];
    // ...

而不是+我尝试以这种方式使用parseInt():

d["Spain"]= parseInt(d["Spain"]);

但它仍然不起作用。

希望有人能帮助我。

1 个答案:

答案 0 :(得分:0)

在解析

之前,您需要从值中删除,
d["Spain"]= Number(d["Spain"].replace(',', ''));