标签:六入 四舍五入 函数 FormatNumber 数值 JS var Round 四舍
JS 四舍六入五成双
规则:
四舍六入五考虑,
五后非零就进一,
五后皆零看奇偶,
五前为偶应舍去,
五前为奇要进一。
function evenRound(num, decimalPlaces) { var d = decimalPlaces || 0; var m = Math.pow(10, d); var n = +(d ? num * m : num).toFixed(8); // Avoid rounding errors var i = Math.floor(n), f = n - i; var e = 1e-8; // Allow for rounding errors in f var r = (f > 0.5 - e && f < 0.5 + e) ? ((i % 2 == 0) ? i : i + 1) : Math.round(n); return d ? r / m : r; }
ASP中其实有两个可以用作四舍五入的函数:Round函数和FormatNumber函数。
Round 函数
返回按指定位数进行四舍五入的数值。
Round(expression[, numdecimalplaces])
参数
Expression
必选项。数值表达式 被四舍五入。
Numdecimalplaces
可选项。数字表明小数点右边有多少位进行四舍五入。如果省略,则 Round 函数返回整数。
FormatNumber函数
FormatNumber(Expression [, Digit [, LeadingDigit [, Paren [, GroupDigit]]]]。
参数
Expression
必选项。
Digit 指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是计算机的区域设置。
LeadingDigit 指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是计算机的区域设置。
Paren 指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是计算机的区域设置。
GroupDigit 指示小数点右侧显示位数的数值。默认值为 -1,指示使用的是计算机的区域设置。
示例
EXAMPLE: <%=Round(3.14159, 2)%>
RESULT: 3.14
EXAMPLE: <%=FormatNumber(45.324567, 3)%>
RESULT: 45.325
区别
虽然Round函数叫做四舍五入函数,但是他所说的四舍五入与我们平常说的并不一样,我们平时的是:大于等于5的数值入、小于5的数值舍。但是,Round函数却是大于5的数值入、小于5的数值舍、等于5的话奇数入偶数舍。
示例
Round(1.5)
Round(2.5)
Round(3.5)
Round(4.5)
FormatNumber(1.5,0)
FormatNumber(2.5,0)
FormatNumber(3.5,0)
FormatNumber(4.5,0)
Round的结果是:
2
2
4
4
FormatNumber的结果是:
2
3
4
5
看样子,如果真的要使用四舍五入的函数,还是用FormatNumber的准确一些!
标签:六入,四舍五入,函数,FormatNumber,数值,JS,var,Round,四舍 来源: https://www.cnblogs.com/sun45/p/16188175.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。