javascript关于浮点数的运算

作者:norion时间:2012年7月5日评论次数:0 条

今天在做公司的OA系统需要一个工资的计算,用js来可以活是很简单的一件事情,但是遇到一个浮点数的运算问题,后面的小数点后面的值变的很长而且不准确,而需求要求的的是精确到后面两个小数位。

原来我是这样写的:

jQuery('.pre-taxWages').click(function(){
	var _this    = jQuery(this),
		_parents = _this.parents('tr'),
		_val     = Number( _parents.find('.monthlyWage').text() )
				   - Number( _parents.find('.medicare').text() )
				   - Number( _parents.find('.providentFund').text() );
	_this.find("input").val( _val );
});

结果就是上面所述,后来在网上看到人家用toFixed() 方法可把 Number 四舍五入为指定小数位数的数字,于是我就代码做了个小改动:

jQuery('.pre-taxWages').click(function(){
	var _this    = jQuery(this),
		_parents = _this.parents('tr'),
		_val     = Number( _parents.find('.monthlyWage').text() )
				   - Number( _parents.find('.medicare').text() )
				   - Number( _parents.find('.providentFund').text() );
	_this.find("input").val( _val.toFixed(2) );
});

但是结果分的小于4就被舍掉了,老板想在精确一点,于是就跟后端的程序商量一下我将小数位精确到第三,然后在保存的时候保存到第二位,防止到分的时候计算不正确,于是问题解决了,这里跟大家分享一下~~~高手路过请不要偷笑,俺是js菜鸟~~~

标签:

上一篇: 解决safari,chrome在写后退的时候的问题

下一篇:jquery选择器返回的是一个数组

相关文章

评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注