zoukankan      html  css  js  c++  java
  • 关于delphi7的四舍五入

    round 函数是银行用的 采用了 四舍六入5留偶

    网上找到了个实现方法   先乘1000,用Trunc取整,除10取余,余数再取整,如果大于5,进位,小于5不进位。

    函数就好写了 现在只写一个保留两个小数的例子  用到的可以扩展一下

    /// <summary>
    /// 四舍五入
    /// </summary>
    /// <param name="iValue">值</param>
    /// <returns>结果四舍五入保留两位小数</returns>
    function TfrmCaiGouhuajiadan.GetRound(iValue: double): Double;
    var
      iTemp: integer;
      iMod: Integer;
    begin
       //先乘1000,用Trunc取整,除10取余,余数再取整,如果大于5,进位,小于5不进位。
    
      iTemp := Trunc(iValue * 1000);
      iMod := iTemp mod 10;
    
      if Trunc(iMod) >= 5 then
        Result := (Trunc(iValue * 100) + 1) / 100
      else
        Result := Trunc(iValue * 100) / 100;
    end;
  • 相关阅读:
    树状数组和线段树
    N皇后问题(函数式编程与过程式)
    单例模式
    BitSet
    蓄水池抽样问题
    关于动态规划的一些感想
    53最大子序和
    5最长回文子串
    139单词拆分
    91.解码方法
  • 原文地址:https://www.cnblogs.com/SoftWareIe/p/5728009.html
Copyright © 2011-2022 走看看