2015-05-16 4 views
0

я пытаюсь взять данные и добавить переменный в число перед графиками его с d3Добавления переменного числа к данным

Однако использование + в JavaScript, чтобы сделать добавление просто добавляет номер переменного к числу данных вместо добавить его?

var extraCash = 100 
var budget= d3.format(",")(data[1].total_budget+extraCash); 

Данные выглядит следующим образом:

{"rows":[["total_budget"],["200"]]}, 

Бюджет должен быть 300, но я получаю 200.100

+0

Вы уверены, что это выглядит { "строк": [[ "total_budget"], [ "200"]]}, а не { "строк": [[ "total_budget"], ["200,"]]} с запятой в конце 200? – AmmarCSE

+0

Вам нужно разобрать 'total_budget' в число. –

ответ

2

Похоже totalCash это String, попробуйте принуждением:

var budget= d3.format(",")(Number(data[1].total_budget) + extraCash); 

Другие методы:

parseFloat(data[1].total_budget) + extraCash 

parseInt(data[1].total_budget, 10) + extraCash 

+ data[1].total_budget + extraCash /* <-- "unary" operator */ 

Эти методы ведут себя по-разному, что может привести к неожиданным результатам. Это хорошая идея, чтобы быть знакомым с нюансами каждого метода.

https://developer.mozilla.org/en-US/docs/Glossary/Type_Conversion https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloat https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Unary_plus

+0

В этом была проблема. Спасибо. – auto