zoukankan      html  css  js  c++  java
  • Math 中常用的数学函数

    //整除与余数: DivMod
    const
      a = 11;
      b = 3;
    var
      x,y: Word;
    begin
      ShowMessage(IntToStr(a div b)); {整除得 3}
      ShowMessage(IntToStr(a mod b)); {余数 2}
    
      DivMod(a,b,x,y);
      ShowMessage(IntToStr(x)); {3}
      ShowMessage(IntToStr(y)); {2}
    end;
    
    //返回整数: Ceil、Floor var d1,d2: Real; const d = 1.2; begin {向大补入} d1 := Ceil(d); d2 := Ceil(-d); ShowMessage(FloatToStr(d1)); {2} ShowMessage(FloatToStr(d2)); {-1} {向小舍入} d1 := Floor(d); d2 := Floor(-d); ShowMessage(FloatToStr(d1)); {1} ShowMessage(FloatToStr(d2)); {-2} end;
    //最大值与最小值: Max、Min var d: Real; begin d := Max(5.2, -2); ShowMessage(FloatToStr(d)); {5.2} d := Min(5.2, -2); ShowMessage(FloatToStr(d)); {-2} end;
    //Double 数组求和: Sum var d: Real; const arr: array[0..3] of Double = (1, 2, 3, -4.5); begin d := Sum(arr); {要求必须是 Double 数组} ShowMessage(FloatToStr(d)); {1.5} end;
    //Double 数组求平均值: Mean var arr: array[0..5] of Double; d: Double; begin arr[0] := -1.2; arr[1] := 1.0; arr[2] := 2.5; arr[3] := 3.0; arr[4] := 4.5; arr[5] := 25.0; d := Mean(arr); ShowMessage(FloatToStr(d)); {5.8} end;
    //计算一个数的 n 次方: Power var d: Real; begin d := Power(3,2); {3 的 2 次方} ShowMessage(FloatToStr(d)); {9} end;
    //判断在一个误差范围内, 一个数字是否为0: IsZero const d1 = 0.4; d2 = -0.1; d3 = 3; var b: Boolean; begin b := IsZero(d1, 0.4); {参数2是误差范围} ShowMessage(BoolToStr(b)); {True} b := IsZero(d2, 0.4); ShowMessage(BoolToStr(b)); {True} b := IsZero(d3, 0.4); ShowMessage(BoolToStr(b)); {False} b := IsZero(d3); {参数2是可选的, 默认是0} ShowMessage(BoolToStr(b)); {False} end;
    //比较两个参数在一定误差范围内是否相等: SameValue var b: Boolean; begin b := SameValue(1.2, 1.21, 0.01); {误差是 0.01} ShowMessage(BoolToStr(b)); {True} b := SameValue(1.2, 1.21); {误差默认是 0} ShowMessage(BoolToStr(b)); {False} end;
    //判断一个数的正负 var v: TValueSign; {-1..1} begin v := Sign(22); ShowMessage(IntToStr(v)); {返回 1 表示是正数} v := Sign(-22); ShowMessage(IntToStr(v)); {返回 -1 表示是负数} v := Sign(0); ShowMessage(IntToStr(v)); {返回 0 表示是 0} end;
    //舍入位数: RoundTo、SimpleRoundTo var d: Real; const d1 = 1234567; d2 = 1.234; d3 = 1.235; d4 = - 1.235; begin d := RoundTo(d1,3); ShowMessage(FloatToStr(d)); {123500} d := RoundTo(d2,-2); ShowMessage(FloatToStr(d)); {1.23} d := RoundTo(d3,-2); ShowMessage(FloatToStr(d)); {1.24} d := RoundTo(d4,-2); ShowMessage(FloatToStr(d)); {-1.24} d := SimpleRoundTo(d1,3); ShowMessage(FloatToStr(d)); {123500} d := SimpleRoundTo(d2,-2); ShowMessage(FloatToStr(d)); {1.23} d := SimpleRoundTo(d3,-2); ShowMessage(FloatToStr(d)); {1.24} d := SimpleRoundTo(d4,-2); ShowMessage(FloatToStr(d)); {-1.24} {RoundTo 使用银行家舍入法; SimpleRoundTo 使用不均衡算法舍入, 适合更大的值} end;
  • 相关阅读:
    我爱java系列之---【微服务间的认证—Feign拦截器】
    我爱java系列之---【设置权限的三种解决方案】
    581. Shortest Unsorted Continuous Subarray
    129. Sum Root to Leaf Numbers
    513. Find Bottom Left Tree Value
    515. Find Largest Value in Each Tree Row
    155. Min Stack max stack Maxpop O(1) 操作
    painting house
    Minimum Adjustment Cost
    k Sum
  • 原文地址:https://www.cnblogs.com/del/p/1018318.html
Copyright © 2011-2022 走看看