1、银行家四舍五入是用于银行计算无法获取最小单位的值时采取的方法:其实很好理解;武功秘籍如下:
四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一
2、实操:
将下面的语句放到数据库中执行
CREATE OR REPLACE FUNCTION ROUND2 (P1 IN NUMBER, P2 IN NUMBER) RETURN NUMBER AS BEGIN IF TRUNC (P1, P2 + 1) <> P1 OR SUBSTR (P1 * POWER(10, P2 + 1) ,- 1) <> '5' OR MOD ( SUBSTR (P1 * POWER(10, P2 + 1) ,- 2, 1), 2 ) = 1 THEN RETURN ROUND (P1, P2) ; ELSE RETURN TRUNC (P1, P2) ; END IF ; END ;
使用的时候直接调用round2(P1,P2)方法就行了,其中P1为原始值,P2为保留的小数点后几位