zoukankan      html  css  js  c++  java
  • Delphi Math里的基本函数,以及浮点数比较函数(转)

    源:Delphi Math里的基本函数,以及浮点数比较函数

    Delphi里的好东西太多,多到让人觉得烦。这种感觉就是当年打游戏《英雄无敌3》,改了钱以后,有钱了每天都要造建筑,明明是好事,可是让人觉得烦。

    先记录下来,以后再回来加强对Math单元的研究,不必再自己发明函数去比较浮点数了~

    1.Ceil

    function Ceil(const X: Extended):Integer;:按正无穷大方向四舍五入一个变量。例如:

    Ceil(-2.8) = -2;  
    Ceil(2.8) = 3;  
    Ceil(-1.0) = -1;  

    3.Floor

    function Floor(const X: Extended): Integer;:按负无穷方向四舍五入一个变量。例如:

    Floor(-2.8) = -3;  
    Floor(2.8) = 2;  
    Floor(-1.0) = -1; 

     3. CompareValue

    function CompareValue(const A, B: Integer): TValueRelationship; overload;

    function CompareValue(const A, B: Int64): TValueRelationship; overload;

    function CompareValue(const A, B: Single; Epsilon: Single = 0): TValueRelationship; overload;

    function CompareValue(const A, B: Double; Epsilon: Double = 0): TValueRelationship; overload;

    function CompareValue(const A, B: Extended; Epsilon: Extended = 0): TValueRelationship; overload;

    比较A、B两个变量的关系。如果A<B,则返回值为-1;如果A=B,则返回值为0;如果A>B,则返回值为1;其中A、B只能为Integer、Int64、Single、Double、Extended表达式。

    4. EnsureRange

    function EnsureRange(const AValue, AMin, AMax: Integer): Integer; overload;

    function EnsureRange(const AValue, AMin, AMax: Int64): Int64; overload;

    function EnsureRange(const AValue, AMin, AMax: Double): Double; overload;

    返回确保在某一范围内的值。如果AValue<AMin,则返回AMin;如果AValue>AMax,则返回AMax;其返回值只能为Integer、Int64、Double类型的值。

    5. InRange

    function InRange(const AValue, AMin, AMax: Integer): Boolean; overload;

    function InRange(const AValue, AMin, AMax: Int64): Boolean; overload;

    function InRange(const AValue, AMin, AMax: Double): Boolean; overload;

    用来判断一个数是否在某一范围内。如AMin<=AValue<=AMax,则返回True;否则则返回False。

    6. Max、Min

    Max

    function Max(A,B: Integer): Integer; overload;

    function Max(A,B: Int64): Int64; overload;

    function Max(A,B: Single): Single; overload;

    function Max(A,B: Double): Double; overload;

    function Max(A,B: Extended): Extended; overload;

    比较两个数字表达式返回其中的较大者。其中A、B的类型为Integer、Int64、Single、Double、Extended中的一类。

    Min

    function Min(A,B: Integer): Integer; overload;

    function Min(A,B: Int64): Int64; overload;

    function Min(A,B: Single): Single; overload;

    function Min(A,B: Double): Double; overload;

    function Min(A,B: Extended): Extended; overload;

    比较两个数字表达式返回其中的较小者。其中A、B的类型为Integer、Int64、Single、Double、Extended中的一类。

    7. Power、Round、RoundTo

    Power

    function Power(const Base, Exponent: Extended): Extended;:返回底数的任何次幂。其中base是底数,Exponent是指数。

    Round

    function Round(X: Extended): Int64;:将实数四舍五入为整数。

    RoundTo

    type TRoundToRange = -37..37;

    function RoundTo(const AValue: Double; const ADigit: TRoundToRange): Double;:将实数按指定的ADigit来进行四舍五入。

     
    RoundTo(1234567,3) = 1234000;  
    RoundTo(1.234,-2) = 1.23;  
    RoundTo(1.235,-2) = 1.24;  

    8.Trunc

    function Trunc(X: Extended): Int64;:返回一个函数的整数部分。与Int函数相似。

    以上介绍的几个函数在Math类中比较常用。

    参考:

    http://blog.csdn.net/kimifdw/article/details/8582725

  • 相关阅读:
    flash中网页跳转总结
    as3自定义事件
    mouseChildren启示
    flash拖动条移出flash无法拖动
    需要一个策略文件,但在加载此媒体时未设置checkPolicyFile标志
    Teach Yourself SQL in 10 Minutes
    电子书本地转换软件 Calibre
    Teach Yourself SQL in 10 Minutes
    Teach Yourself SQL in 10 Minutes
    Teach Yourself SQL in 10 Minutes – Page 31 练习
  • 原文地址:https://www.cnblogs.com/LittleTiger/p/4615349.html
Copyright © 2011-2022 走看看