银行家舍入法

发表于 2025/2/21 GMT+8 20:47:49

最后更新于 2025/2/22 GMT+8 20:58:54

又称为四舍六入五取偶四舍六入五留双

  • 当要舍弃的数字小于5时,直接舍去。
  • 当要舍弃的数字大于5时,进位。
  • 当要舍弃的数字正好是5时,会考虑两种情况:
    • 如果5后面有非零数字,则无论前面的数字为何,都应进位。
    • 如果5后面没有数字(或都是零),则再分两种情况,查看5前面的数字:
      • 如果5前面的数字是偶数,则舍去5。
      • 如果5前面的数字是奇数,则进位。
9.8249  9.82  // 小于5舍去
9.8267  9.83  // 大于5进位

9.82501  9.83 // 5后有非0数字,进位
9.8351   9.84 // 5后面有非0数字,进位

9.825  9.82   // 5后面没有数字,看5前面的数字,奇数,舍去5
9.835  9.84   // 5后面没有数字,看5前面的数字,偶数,进位 

JavaScript 中 toFixed 计算时,使用银行家舍入法

console.log((9.8249).toFixed(2)) // 9.82
console.log((9.8267).toFixed(2)) // 9.83

console.log((9.82501).toFixed(2)) // 9.83
console.log((9.8351).toFixed(2))  // 9.84

console.log((9.825).toFixed(2)) // 9.82
console.log((9.835).toFixed(2)) // 9.84

银行家舍入法:一种更公平的四舍五入-Blog · WeFreeStar

银行家舍入_百度百科