C#编程实现取整和取余的方法
作者:清风远行 发布时间:2023-09-09 22:19:26
标签:C#,取整,取余
本文实例讲述了C#编程实现取整和取余的方法。分享给大家供大家参考,具体如下:
"%"为取余号,不用多说。
"/"号现在整形运算是取整,浮点运算时为除法运算,如54/10结果为5,54.0/10.0结果为5.4而且取整时不进行四舍五入只取整数部分,如54/10和56/10是5.
Math.Celling()取整数的较大数,即向上取整。相当于不管余数是什么都会进一位。如Math.Celling(54.0/10.0)结果为6.
Math.Ceiling(Convert.ToDecimal(d)).ToString() 或string res = Math.Ceiling(Convert.ToDouble(d)).ToString(); res为5 string res =
Math.Floor()取整数的较小数,即向下取整。相当于"/"号,即不管余数部分是什么都不进行进位。如Math.Floor(56.0/10.0)的结果是5.
Math.Floor(Convert.ToDecimal(d)).ToString() 或string res = Math.Floor(Convert.ToDouble(d)).ToString(); res为4
代码如下:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication5
{ class Program { static void Main(string[] args)
{ Console.WriteLine("(54/10):{0}", 54 / 10);
Console.WriteLine("(56/10):{0}", 56/ 10);
Console.WriteLine("(54.0%10.0):{0}", 54.0 % 10.0);
Console.WriteLine("(56.0%10.0):{0}", 56.0 % 10.0);
Console.WriteLine("Math.Celling(54.0/10.0):{0}", Math.Ceiling(54.0 / 10.0));
Console.WriteLine("Math.Celling(56.0/10.0):{0}", Math.Ceiling(56.0 / 10.0));
Console.WriteLine("Math.Floor(54.0/10.0):{0}", Math.Floor(54.0 / 10.0));
Console.WriteLine("Math.Floor(56.0/10.0):{0}", Math.Floor(56.0 / 10.0)); } } }
C#中,关于除法"/"运算得一点问题。
现在C#与法中,"/"除后所得的值的类型,跟他的除数和被除数的类型有关。如:
int a=4;
int b=5;
float c=a/b ;
则结果为0(因为会先进行int的除法操作,得出结果0,再将结果转为float 0;);
总之,得出的数都是整形的,最终发觉原来除后所得的值的类型,跟他的除数和被除数的类型有关。所以,应写成:
float a=3;
float b=5;
float c=a/b;
这样,才能得出正确的结论!
希望本文所述对大家C#程序设计有所帮助。
0
投稿
猜你喜欢
- 在多线程对一个整数进行自增操作时,需要用synchronized进行同步。然而,如果synchronized的对象选取的不合适的话,就无法实
- 本文实例讲述了Java Socket实现传输压缩对象的方法。分享给大家供大家参考,具体如下:前面文章《Java Socket实现的传输对象功
- 项目需要对接外部接口,将图片文件流发送到外部接口,下面代码就是HttpsURLConnection如何上传文件流:/** *
- 传输层安全性协议(英语:Transport Layer Security,缩写作 TLS),及其前身安全套接层(Secure Sockets
- 概述什么是动态编程?动态编程解决什么问题?Java中如何使用?什么原理?如何改进?(需要我们一起探索,由于自己也是比较菜,一般深入不到这个程
- 前言Java项目开发中经常要用到分页功能,现在普遍使用SpringBoot进行快速开发,而数据层主要整合SpringDataJPA和MyBa
- web.xml文件配置创建好一个SpringMVC项目后,需要在需要在WB-INF文件夹下配置web.xml文件<?xml versi
- 前言接着上一篇,上篇已经测试通过,成功添加了数据。那么这篇主要是继续上一个项目,将项目进行工程化包装,增加一些必要配置,并且生成增删改查接口
- spring in action第三版读书笔记spring3.0引入了spring expression language(spel)语言,
- activity A和BA 获取数据的activity B返回数据的activity点击A上的按钮,在A的textview上显示
- 时间轴主要使用Recyclerview来实现。开发语言使用Kotlin,代码相对java少了许多也简洁许多源代码下载地址效果图:MainAc
- 栅栏类似闭锁,但是它们是有区别的.1.闭锁用来等待事件,而栅栏用于等待其他线程.什么意思呢?就是说闭锁用来等待的事件就是countDown事
- 目录前沿快速开始引入依赖定义接口配置类开始调用json序列化接口层面指定header:指定Encoder跟Decoder使用 * 注解详解@
- 如何实现封装可以分为两步:第一步:将类的变量声明为private。第二步:提供公共set和get方法来修改和获取变量的值。代码展示publi
- 什么是线程同步? 当使用多个线程来访问同一个数据时,非常容易出现线程安全问题(比如多个线程都在操作同一数据导致数据不一致),所以我们用同步机
- springBoot是java开发中会经常用到的框架,那么在实际项目中项目配置了springBoot框架,应该如何在项目中读取配置文件中的参
- 本文实例讲述了Java使用桥接模式实现开关和电灯照明功能。分享给大家供大家参考,具体如下:一、模式定义桥接模式,也称桥梁模式,在软件系统中,
- 网络编程是指编写运行在多个设备(计算机)的程序,这些设备都通过网络连接起来。java.net包中J2SE的API包含有类和接口,它们提供低层
- 这两天学习了使用Path绘制贝塞尔曲线相关,然后自己动手做了一个类似QQ未读消息可拖拽的小气泡,效果图如下:最终效果图接下来一步一步的实现整
- 为了实现不同环境构建的不同需求,这里使用到了 profile。因为 profile 能够在构建时修改 pom 的一个子集,或者添加额外的配置