【发布时间】:2020-11-15 11:34:01
【问题描述】:
如果我在每一行的末尾使用 toLocaleString,我会得到 1 个格式化的数字,而所有其他数字的值都是 NaN。
let cta = document.getElementById('cnt');
cta.addEventListener('click', function(e) {
let deviza = document.getElementById('deviza').value;
let kurs = document.getElementById('kurs').value;
let prihod = document.getElementById('prihod').value = (deviza * kurs).toFixed(2);
let trosak = document.getElementById('trosak').value = (prihod * .2).toFixed(2);
let osnovica = document.getElementById('osnovica').value = (parseFloat(prihod) - parseFloat(trosak)).toFixed(2);
let porez = document.getElementById('porez').value = (osnovica * .2).toFixed(2);
let pio = document.getElementById('pio').value = (osnovica * .255).toFixed(2);
let zdrav = document.getElementById('zdrav').value = (osnovica * .103).toFixed(2);
let totalPorez = document.getElementById('totalPorez').value = (parseFloat(porez) + parseFloat(pio) + parseFloat(zdrav)).toFixed(2);
let netoPrihod = document.getElementById('netoPrihod').value = (parseFloat(prihod) - parseFloat(totalPorez)).toFixed(2);
})
【问题讨论】:
-
将值和显示的内容视为两个独立的事物。目前,您的业务逻辑与数字的实际显示方式密切相关,这是糟糕的架构。
-
@jonrsharpe 感谢您抽出宝贵时间回复。欣赏。
标签: javascript format numbers tofixed