我正在使用带有2个输入的表单。他们每个人都调用calculeSalaire()
函数。
calculeSalaire()
{
this.fraisGestion = this.getFraisGestion();
this.tauxFraisGestion = this.getTauxFraisGestion();
this.salaireBrut = this.getSalaireBrut();
this.salaireNet = this.getSalaireNet();
this.chargesSalariales = this.getChargesSalariales();
this.chargesPatronales = this.getChargesPatronales();
this.totalPaye = this.getTotalPaye();
}
所有这些函数都返回number
。我想为每个值显示仅2个小数位,这就是我使用toFixed(2)
函数的原因。
除了这个功能外,它适用于我的所有功能:
getSalaireBrut()
{
this.salaireBrut = (this.chiffreAffaire - this.fraisGestion -
this.fraisPro)/(1.10)/(1.447);
var salaireBruttxt = this.salaireBrut.toFixed(2);
return parseFloat(salaireBruttxt);
}
chiffreAffaire
是输入
fraiPro
是输入
fraisGestion
我不明白为什么它对前一个函数不起作用,而它适用于下面的函数。
getChargesSalariales()
{
this.chargesSalariales = this.salaireBrut*(23/100);
var chargesSalarialtxt = this.chargesSalariales.toFixed(2);
return parseFloat(chargesSalarialtxt);
}
您可以注意到我使用salaireBrut
值,该值是由不起作用的函数计算的值。
你有什么想法会发生这种情况吗?
答案 0 :(得分:0)
toFixed
函数返回一个字符串,作为一个不会保留或显示尾随零的数字。因此,toFixed
实际上在你的函数中完全正常工作(当你在那里放置一个断点时可以很容易地检查这个),但parseFloat
再次使它成为一个数字,它永远不会包含尾随我之前说的是零。
所以你实际上必须在那里返回一个字符串 - 删除parseFloat
将解决问题。