C#中decimal保留2位有效小数的实现方法
作者:低调码农哥! 发布时间:2023-01-30 07:35:13
在C#的数字运算过程中,有时候针对十进制decimal类型的计算需要保留2位有效小数,针对decimal变量保留2位有效小数有多种方法,可以使用Math.Round
方法以及ToString先转换为字符串等操作来实现。
(1)方法一:使用C#中的数字计算类Math类中的方法Math.Round方法。
Math.Round方法是用于计算四舍五入的方法,其中一个方法签名为decimal Round(decimal d, int decimals)
,d代表要进行计算的decimal变量,decimals代表保留的小数位数。
例如有个decimal类型变量numDecimal=34.3471,需要对之保留2位有效数字可使用下列语句:
decimal numDecimal = 34.3471M;
numDecimal = Math.Round(numDecimal, 2);
计算结果为:34.35,Math.Round方法进行了四舍五入操作。
(2)方法二:先使用ToString转换为字符串,再转换回decimal类型。
使用该办法的时候,调用ToString方法也会进行四舍五入操作。
继续方法一中的例子,如果使用ToString方法,可使用下列程序语句:
decimal numDecimal = 34.3471M;
string numDecimalStr = numDecimal.ToString("#0.00");
numDecimal = decimal.Parse(numDecimalStr);
计算结果为:34.35,ToString("#0.00")对计算结果转换为字符串进行了四舍五入操作。
(3)方法三:先使用String.Format方法格式化decimal类型为字符串,而后在转换为decimal类型。
使用该办法的时候,同样会像上面2个方法一样,对计算结果进行四舍五入。
继续方法一中的例子,如果使用String.Format方法,可使用下列程序语句:
decimal numDecimal = 34.3471M;
string numDecimalStr = String.Format("{0:N}", numDecimal);
numDecimal = decimal.Parse(numDecimalStr);
ps:C#decimal类型保留小数点后有效数字
例:
decimal d=0.5000;
d.ToString(“0.##”);
也可以这样 string.Format(“{0:0.##}”,d000)
.##表示最多保留2位有效数字,但是不包括0,就是说 如果上面d=0.5000,出来后也只是0.5,方便多了
总结
以上所述是小编给大家介绍的C#中decimal保留2位有效小数的实现方法,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://www.cnblogs.com/personblog/archive/2019/10/23/11725170.html


猜你喜欢
- 突然需要改一堆文件的后缀名,所以想编程解决,话不多说直接上代码javaimport java.io.File;import java.uti
- 线程组构造方法我们看这个线程组,线程组名字是system,设置优先级,然后指定父线程是空,可以看出这个是根线程组,这个方法是私有的,不是给我
- 一.背景本文主要介绍Java 8中时间的操作方法java.util.Date是用于表示一个日期和时间的对象(注意与java.sql.Date
- 1.PDF文件简介PDF是可移植文档格式,是一种电子文件格式,具有许多其他电子文档格式无法相比的优点。PDF文件格式可以将文字、字型、格式、
- 编写程序,事先将所有观众姓名输入数组,然后获得数组元素的总数量,最后在数组元素中随机抽取元素的下标,根据抽取的下标获得幸运观众的姓名。思路如
- 本文实例为大家分享了新闻列表分页查询的java代码,供大家参考,具体内容如下package com.ibeifeng.test;//创建新闻
- 前言:项目中经常会用到类似于QQ侧滑点击删除的效果,网上的开源库也很多。个人感觉SwipeLayout最好用。下面介绍怎么使用。一、首先导入
- MyBatis简介MyBatis前身是iBatis,是一个基于Java的数据持久层/对象关系映射(ORM)框架.MyBatis是对JDBC的
- 什么是栈和队列栈如果用数组模拟的话是类似于一个U形桶状堆栈空间,地下是封口的,只能从顶部一个地方进出,它的进出都是有顺序的,看下图:如果是进
- 在Java 5以前,是用synchronized关键字来实现锁的功能。synchronized关键字可以作为方法的修饰符(同步方法),也可作
- 背景:新需求需要引入新jar包,引入后发现本地启动没有报错,发到测试环境提示某个bean无法创建,nested exception is j
- 前言:因为项目中显示图片是用Picasso,设置placeholder和error图片的时候发现,本地图片的大小无法满足我的需求,需要先对图
- 上一篇文章讲解了Spring Cloud 整合 nacos 实现服务注册与发现,nacos除了有服务注册与发现的功能,还有提供动态配置服务的
- Android CardView详解Android5.0中向我们介绍了一个全新的控件–CardView,从本质上看,可以将Car
- 1.浅复制与深复制概念 ⑴浅复制(浅克隆) 被复制对象的所有变量都含有与原来的对象相同的值,
- 本文实例为大家分享了java字符串和数字转换工具的具体代码,供大家参考,具体内容如下package com.test.util;/** *
- 一、定时器是什么定时器类似于我们生活中的闹钟,可以设定一个时间来提醒我们。而定时器是指定一个时间去执行一个任务,让程序去代替人工准时操作。标
- 重写(Override)重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!重写的好处在
- 背景:由于所在办公室网络限制,笔者每天都使用网络都要先连接无线网。如下图,输入授权用户信息登录后才能使用WIFI。丧心病狂的是该网页Cook
- 安装Jenkins提示:首先Jenkins安装方式有2中,一种是yum安装,另一种是使用war的方式进行安装(war就需要安装tomcat)