А сразу указывать с НДС цену товара что нельзя?
Если надо, ну так у вас во-первых не строка, а объект, свойства которого вы получаете: this.DATA[idkey].num, this.DATA[idkey].price и т.д., ну какие проблемы получить НДС - this.DATA[idkey].nds.
Во-вторых проценты НДС, это часть от 100, и 18% нужно записывать не как 18, а как .18 или 0.18. Коли прописываете этот объект руками, то записывать можно так (числа совсем не обязательно обрамлять кавычками, как и имена свойств объекта)
var priceList = {
"001" : {id : "001", subid : {}, name : "IPhone 5", subname : {}, nds : .18, price : 100},
"002" : {id : "002", subid : {}, name : "IPad MINI", subname : {}, nds : .14, price : 200}
};
Но не зависимо от того с этого ли объекта берутся свойства или уже из локального хранилища после JSON.parse, parseInt и parseFloat не нужен в расчетах. Собственно и id : "001" в объекте тоже не нужен, он и так прописан как свойство объекта priceList.
Вот только на
изображении корзины надо полагать Всего, это за каждый товар, а значит эта цена должна быть с НДС, а итоговая сумма, это не
sum += parseFloat(parseInt(this.DATA[idkey].num) * parseFloat(this.DATA[idkey].price));
а сумма всех "Всего" за каждый товар. То есть при выводе таблицы корзины считаем Всего для каждого товара:
var tot = this.DATA[idkey].price * this.DATA[idkey].num + this.DATA[idkey].price * this.DATA[idkey].nds;
sum += tot;