当前位置: 首页 > article >正文

C#Math计算的几个常用方法

1、返回绝对值

		/// <summary>
        /// 【1】返回绝对值(可扩展为绝对负数,只要前面加上负号)
        /// </summary>
        /// <param name="num"></param>
        /// <returns></returns>
        public static string CalculateAVG(int num)
        {
            return Math.Abs(num).ToString();
        }

2、返回输入数字的平方运算

		/// <summary>
        /// 【2】返回输入数字的平方运算(可扩展为立方或者其他自身运算)
        /// </summary>
        /// <param name="x"></param>
        /// <returns></returns>
        public static double Square(double x) => x * x;

3、返回两个整数中间的倍数

        /// <summary>
        /// 【3】返回两个整数中间的倍数
        /// </summary>
        /// <param name="num"></param>
        /// <param name="limit"></param>
        /// <returns></returns>
        public static List<int> FindMultiples(int num, int limit) => Enumerable.Range(1, limit / num).Select(x => x * num).ToList();

4、计算bool值的与、或和与或运算

        /// <summary>
        /// 【4】计算bool值的与、或和与或运算
        /// </summary>
        /// <param name="array"></param>
        /// <param name="op"></param>
        /// <returns></returns>
        public static bool LogicalCalc(bool[] array, string op)
        {
            if (op == "AND")
                return array.All(x => x);
            else if (op == "OR")
                return array.Any(x => x);
            else
                return array.Aggregate((i, j) => i ^ j);
        }

5、求平均数(数组)

        /// <summary>
        /// 【5】求平均数(数组)
        /// </summary>
        /// <param name="marks"></param>
        /// <returns></returns>
        public static int GetAverage(int[] marks)
        {
            return (int)marks.Average();
        }

6、计算数字是否满足特定条件

        /// <summary>
        /// 【6】计算数字是否满足特定条件:涉及(数字转字符串、字符串内元素数字运算、幂运算)
        /// </summary>
        /// <param name="number"></param>
        /// <returns></returns>
        public static string DisariumNumber(int number)
        {
            return number.ToString().Select((x, i) => Math.Pow(char.GetNumericValue(x), ++i)).Sum() == number ? "Disarium !!" : "Not !!";
        }

7、返回小数点后两位

        /// <summary>
        /// 【7】返回小数点后两位
        /// </summary>
        /// <param name="amount"></param>
        /// <returns></returns>
        public static string FormatMoney(double amount)
        {
            return $"{"$"}{amount.ToString("0.00")}";
        }

8、抽象类型转double类型(带null值判断)

        /// <summary>
        /// 【8】抽象类型转double类型(带null值判断)
        /// </summary>
        /// <param name="s"></param>
        /// <returns></returns>
        public static double? ParseF(object s = null)
        {
            return double.TryParse(s?.ToString(), out var result) ? result : (double?)null;
        }

http://www.kler.cn/a/288041.html

相关文章:

  • Win11 终端执行 python xxx.py 没反应
  • git使用及上线流程(仅为我工作中常用)
  • 云原生周刊:Istio 1.24.0 正式发布
  • Redisson的可重入锁
  • FFmpeg 4.3 音视频-多路H265监控录放C++开发十三.2:avpacket中包含多个 NALU如何解析头部分析
  • unity 一个物体随键盘上下左右旋转和前进的脚本
  • Pandas 1- 创建文件
  • 关键点检测(6)——yolov8-neck的搭建
  • 微信小程序背景图无法显示
  • 2409d,d语言非常简单利用sqlite3库
  • 前端宝典二十六:vue3的新特性
  • 群晖NAS本地使用Docker搭建Home Assistant智能家居平台与远程访问
  • vue3的学习(1)
  • vscode安装rest client插件,提示XHR failed
  • 使用EF框架进行查询(Find、where、select、count)
  • 深度学习-VGG16原理和代码详解
  • 光影漫游者:科技感十足的圆形气膜场馆—轻空间
  • C++泛型库
  • 05.整合Axios+MockJs
  • Python中传参是按值传递还是按引用传递?
  • GO、KEGG等富集棒棒图
  • 为了支持XR,3GPP R18都做了哪些增强?
  • Spring源码(9)--FactoryBean简介
  • Prometheus 学习笔记
  • vscode自动添加python文件的头部注释
  • Jenkins+docker+springboot 一键自动部署项目步骤