规则:
四舍六入五考虑,
五后非零就进一,
五后皆零看奇偶,
五前为偶应舍去,
五前为奇要进一。
c#:
Math.Round(new Decimal(1.2050),2) 1.2 Math.Round(new Decimal(1.2150),2) 1.22 Math.Round(new Decimal(1.2250),2) 1.22 Math.Round(new Decimal(1.2350),2) 1.24 Math.Round(new Decimal(1.2450),2) 1.24 Math.Round(new Decimal(1.2550),2) 1.26 Math.Round(new Decimal(1.2650),2) 1.26 Math.Round(new Decimal(1.2750),2) 1.28 Math.Round(new Decimal(1.2850),2) 1.28 Math.Round(new Decimal(1.2950),2) 1.3oracle:
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; --修约法则 /* 四舍六入五考虑, // 五后非零就进一, // 五后皆零看奇偶, // 五前为偶应舍去, // 五前为奇要进一。 */