C#实现将小数值四舍五入为整数

news2024/10/5 14:24:07

一、需求说明

        在项目的开发中,遇到一些除法计算内容会产生小数值,但是又需要根据项目的实际情况将这些小数内容化为整数,方便后续内容的实现。

二、需求分析

将小数内容转为整数【但是转为小数又分为几种情况】:

①将小数取为下一个整数;

②将小数只取整数;

③标准的四舍五入取整;

三、实现方法

3.1、将小数取为下一个整数

Math.Ceiling 方法 (System) | Microsoft Learnicon-default.png?t=N658https://learn.microsoft.com/zh-cn/dotnet/api/system.math.ceiling?view=net-6.0

Ceiling(Decimal)

返回大于或等于指定的十进制数的最小整数值。

Ceiling(Double)

返回大于或等于指定的双精度浮点数的最小整数值。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Test_HalfAdjust
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("---------C#中常用的四舍五入函数介绍---------");
            double value1 = 3.01;
            double value2 = 3.49;
            double value3 = 3.50;
            double value4 = 3.51;
            double value5 = 3.99;
            double value6 = -0.01;

            Console.WriteLine("---- Math.Ceiling()----将双精度的内容统一舍为加1的整数");
            string result1=string.Format("{0}={1}; {2}={3}; {4}={5}; {6}={7}; {8}={9}; {10}={11}\n", value1,Math.Ceiling(value1),
                value2,Math.Ceiling(value2), value3,Math.Ceiling(value3), value4,Math.Ceiling(value4),
                value5,Math.Ceiling(value5),value6,Math.Ceiling(value6));
            Console.WriteLine(result1);

            Console.ReadLine();

        }//Class_end
    }
}

运行结果如下: 

3.2、将小数只取整数

Math.Floor 方法 (System) | Microsoft Learnicon-default.png?t=N658https://learn.microsoft.com/zh-cn/dotnet/api/system.math.floor?view=net-7.0

Floor(Double)

返回小于或等于指定双精度浮点数的最大整数值。

Floor(Decimal)

返回小于或等于指定小数的最大整数值。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Test_HalfAdjust
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("---------C#中常用的四舍五入函数介绍---------");
            double value1 = 3.01;
            double value2 = 3.49;
            double value3 = 3.50;
            double value4 = 3.51;
            double value5 = 3.99;
            double value6 = -0.01;

            Console.WriteLine("---- Math.Floor()----将双精度的内容统一舍为小数点前的整数");
            string result2 = string.Format("{0}={1}; {2}={3}; {4}={5}; {6}={7}; {8}={9}; {10}={11}\n", value1, Math.Floor(value1),
                value2, Math.Floor(value2), value3, Math.Floor(value3), value4, Math.Floor(value4),
                value5, Math.Floor(value5), value6, Math.Floor(value6));
            Console.WriteLine(result2);

            Console.ReadLine();

        }//Class_end
    }
}

运行结果如下:

3.3、标准的四舍五入取整

Math.Round 方法 (System) | Microsoft Learnicon-default.png?t=N658https://learn.microsoft.com/zh-cn/dotnet/api/system.math.round?view=net-7.0

Round(Double, Int32, MidpointRounding)

使用指定的舍入约定将双精度浮点值舍入到指定数量的小数位数。

Round(Decimal, Int32, MidpointRounding)

使用指定的舍入约定将十进制值舍入到指定数量的小数位数。

Round(Double, MidpointRounding)

使用指定的舍入约定将双精度浮点值舍入为整数。

Round(Double, Int32)

将双精度浮点值舍入到指定数量的小数位,并将中点值舍入到最接近的偶数。

Round(Decimal, Int32)

将小数值舍入到指定数量的小数位,并将中点值舍入到最接近的偶数。

Round(Double)

将双精度浮点值舍入到最接近的整数值,并将中点值舍入到最接近的偶数。

Round(Decimal)

将小数值舍入到最接近的整数值,并将中点值舍入到最接近的偶数。

Round(Decimal, MidpointRounding)

使用指定的舍入约定将十进制值舍入为整数。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Test_HalfAdjust
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("---------C#中常用的四舍五入函数介绍---------");
            double value1 = 3.01;
            double value2 = 3.49;
            double value3 = 3.50;
            double value4 = 3.51;
            double value5 = 3.99;
            double value6 = -0.01;

            Console.WriteLine("---- Math.Round()----将双精度的内容按照四舍五入的整数");
            string result3 = string.Format("{0}={1}; {2}={3}; {4}={5}; {6}={7}; {8}={9}; {10}={11}\n", value1, Math.Round(value1),
                value2, Math.Round(value2), value3, Math.Round(value3), value4, Math.Round(value4),
                value5, Math.Round(value5), value6, Math.Round(value6));
            Console.WriteLine(result3);


            Console.ReadLine();

        }//Class_end
    }
}

运行结果如下:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/744563.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

银河麒麟服务器v10 sp1 部署 mysql 客户端工具 DBeaver

上一篇:银河麒麟服务器v10 sp1 安装mysql_csdn_aspnet的博客-CSDN博客 DBeaver 是数据库管理器的客户端,它允许以舒适的方式管理数据库实例的数据和选项。DBeaver 支持任何具有 JDBC 驱动程序的数据库 – MySQL/MariaDB、PostgreSQL、Oracle、DB2 LUW、…

性能测试工具 Loadrunner 和 Jmeter 测试结果大 PK

目录 前言: 测试一:1 个用户陆续执行登录操作,迭代 100 次,运行完就结束 测试二:50 个用户并发执行登录操作(有集合点) 前言: 性能测试工具LoadRunner和JMeter都是流行的工具&am…

ASP.net 配置CSP

ASP.net 开启全局CSP配置 <add name"Content-Security-Policy" value"default-src self; script-src self unsafe-inline unsafe-eval http://seal.digicert.com; style-src self unsafe-inline;" />在web.config中添加该行配置即可 配置完成后&am…

Im6ull 系统移植之 命令行

一 系统移植 系统移植 主要分四个不分由系统启动流程决定 U-Boot的移植 Linux内核的移植 根文件系统的构建系统烧写 1.1 交叉编译环境 交叉编译器有很多种&#xff0c;我们使用 Linaro 出品的交叉编译器&#xff0c; Linaro 是一间非营利性质的开 放源代码软件工程公…

LeetCode[11]盛水最多的容器

难度&#xff1a;Medium 题目&#xff1a; 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 …

enreka使用错误

错误 java.net.UnknownHostException: INVENTORYSERVICE 分析&解决&#xff1a; 这里的请求执行错误 但eureka可以找到服务 手动创建RestTemlate到容器中&#xff0c;未加LoadBalanced注解 加上注解后重试&#xff0c;成功

在linux服务器上的基础操作

1.查看该文件最后两行的记录 tail -n 2 book.txt2.查找文本中的内容 grep info book.txt3.查找内容的上下文本内容 $ grep -C 2 info book.txt

leetcode 701. 二叉搜索树中的插入操作

2023.7.12 比较简单&#xff0c;不多说直接看代码&#xff1a; 迭代法&#xff1a; class Solution { public:TreeNode* insertIntoBST(TreeNode* root, int val) {//树为空的情况if(rootnullptr){TreeNode* node new TreeNode(val);return node;}//需要一个pre节点指向父节…

Echart 数据更新了,X轴或者Y轴显示不变化的问题

应用场景&#xff1a;点击不同的图例&#xff0c;显示不同的X轴或者Y轴的图表 问题&#xff1a;数据打印更新了&#xff0c;Y轴仍然不变。 点第一个legend块&#xff0c;Y轴应该[名称1, 名称2, 名称3, 名称4, 名称5, 名称6, 名称7, 名称8], 点第二个legend块&#xff0c;Y轴应…

C#编码规范

一、 命名惯例和规范 注&#xff1a; Pascal&#xff1a;大小写形式&#xff0d;所有单词第一个字母大写&#xff0c;其他字母小写。 驼峰式&#xff1a;大小写形式&#xff0d;除了第一个单词&#xff0c;所有单词第一个字母大写&#xff0c;其他字母小写。 1&#xff1a;类…

Java 动态规划 Leetcode 213. 打家劫舍 II

代码展示&#xff1a; class Solution {public int rob(int[] nums) {int nnums.length;return Math.max(nums[0]childRob(nums,2,n-2),childRob(nums,1,n-1));}public int childRob(int[]nums,int left,int right){if(left>right){return 0;}int nnums.length;//创建数组i…

Unity基础 物理系统 铰链关节 Hinge Joint

铰链关节是一种模拟物理系统中的连接方式&#xff0c;它允许两个物体围绕一个共同的轴点旋转。这种连接方式可以用于模拟门、摆钟、机器人手臂等各种物理运动。 Connected Body&#xff08;连接体&#xff09;&#xff1a;这是铰链关节连接的另一个刚体。通过设置这个属性&…

谷歌自研芯片秘辛首次曝光;黑客要价 10 万美元出售雷蛇源代码等数据;百川智能发布 Baichuan-13B大模型(提供源码)

2023年7月12日科技新闻要点&#xff01;10秒概览&#xff01; 1.科大讯飞&#xff1a;下半年 all in 星火大模型 2.百川智能发布 Baichuan-13B&#xff08;源代码和安装及训练教程作为福利在文章最后告诉获取方式&#xff09; 3.谷歌自研芯片秘辛首次曝光 4.黑客要价 10 万…

第二十五章:InnoDB的数据存储结构

第二十五章&#xff1a;InnoDB的数据存储结构 25.1&#xff1a;数据库的存储结构&#xff1a;页 ​ 索引结构给我们提供了高效的索引方式&#xff0c;不过索引信息以及数据记录都是保存在文件上的&#xff0c;确切说是存储在页结构中。另一方面&#xff0c;索引是在存储引擎中…

N天爆肝数据库——MySQL(3)

本篇文章&#xff0c;主要对DCL、 函数、 约束和多表查询进行知识总结和学习。 期待和大家一起学习进步。DCL DCL-介绍 数据控制语言&#xff0c;用来管理数据库用户、控制数据库的访问权限。DCL-管理用户 查询用户 USE mysql; SELECT * FROM user; 创建用户 CREATE US…

Overleaf论文投稿

1.Overleaf 具体投稿 一步一步教&#xff01;&#xff01;&#xff01;以Springer Nature为例 2.如何在overleaf上寻找会议或期刊的模板 LaTex期刊模板下载与使用

Mocha Pro 2023 v10.0.2(win/mac)无套路安装教程

Mocha Pro 2023 Mocha Pro是一款世界知名的软件和插件&#xff0c;用于平面运动跟踪、旋转描记、对象移除、图像稳定和PowerMesh有机扭曲跟踪。 Mocha的工具对于视觉效果和后期制作至关重要&#xff0c;在最近每一部获得奥斯卡最佳视觉效果提名的电影中都发挥了重要作用。了解…

天翎MyApps低代码平台案例分享—阿米检测设备管理系统

项目背景&#xff1a;阿米检测技术有限公司&#xff08;以下简称为“阿米检测”&#xff09;隶属于中国航天科技集团&#xff0c;是北京航天计量测试技术研究所下属全资公司&#xff0c;2018年由国家财政部正式发文批准成立。司转化航天高端技术&#xff0c;开展测量方法应用、…

【dij变形】牛客练习赛93 C

C-点权_牛客练习赛93 (nowcoder.com) 题意&#xff1a; 思路&#xff1a; 重要的是在松弛的时候要满足什么条件才开始松弛 这里是用两个点来松弛一个点 Code&#xff1a; #include <bits/stdc.h>//#define int long longusing namespace std;const int mxn1e510; co…

Android的内存泄漏分析

目录 1、内存详情 1.1、内存溢出 1.2 、内存泄漏 1.3、内存抖动 2、垃圾回收机制 2.1、垃圾回收算法&#xff08;标记--清除&#xff09; 2.2、垃圾回收算法&#xff08;标记--整理&#xff09; 2.3、复制算法 2.4、分代回收算法 3.GCRoot原理 3.1、可达性分析法…