ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

JS 四舍六入五成双

2022-04-24 23:00:07  阅读:180  来源: 互联网

标签:六入 四舍五入 函数 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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有