两个float类型的数字相加相减
<script type="text/javascript">
?????????function numAdd(num1, num2) {
??????????????var baseNum, baseNum1, baseNum2;
??????????????try {
???????????????baseNum1 = num1.toString().split(".")[1].length;
??????????????} catch (e) {
???????????????baseNum1 = 0;
??????????????}
??????????????try {
???????????????baseNum2 = num2.toString().split(".")[1].length;
??????????????} catch (e) {
???????????????baseNum2 = 0;
??????????????}
??????????????baseNum = Math.pow(10, Math.max(baseNum1, baseNum2));
??????????????return (num1 * baseNum + num2 * baseNum) / baseNum;
?????????????};
?????????????/**
??????????????* 加法运算,避免数据相减小数点后产生多位数和计算精度损失。
??????????????*
??????????????* @param num1被减数??|??num2减数
??????????????*/
?????????????function numSub(num1, num2) {
??????????????var baseNum, baseNum1, baseNum2;
??????????????var precision;// 精度
??????????????try {
???????????????baseNum1 = num1.toString().split(".")[1].length;
??????????????} catch (e) {
???????????????baseNum1 = 0;
??????????????}
??????????????try {
???????????????baseNum2 = num2.toString().split(".")[1].length;
??????????????} catch (e) {
???????????????baseNum2 = 0;
??????????????}
??????????????baseNum = Math.pow(10, Math.max(baseNum1, baseNum2));
??????????????precision = (baseNum1 >= baseNum2) ? baseNum1 : baseNum2;
??????????????return ((num1 * baseNum - num2 * baseNum) / baseNum).toFixed(precision);
?????????????};
????</script>
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!