C#中decimal保留2位有效小数的实现方法
在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位有效小数的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
相关推荐
-
C#中Convert.ToDecimal()报错问题的解决
前言 convert 叫强制转换,可以是其他类型.最近在工作中遇到一个问题,需要将字符串形式的数值转换回数值,很正常的要求吧.却遇到了问题,下面来一起看看示例代码如下: //s_args_value是字符串 Decimal args_value = Convert.ToDecimal(s_args_value); 可是,如何知道这个字符串的内容真的是数值,或者没有含有什么别的非法字符?否则的话,有可能会报错. 总不能下下都依赖try catch吧. 解决方法如下: 可以酱紫: Decimal t
-
C# double和decimal数据类型以截断的方式保留指定的小数位数
项目中要用到以截断的方式取小数点后两位,故写了以下方法: 复制代码 代码如下: /// <summary> /// 将小数值按指定的小数位数截断 /// </summary> /// <param name="d">要截断的小数</param> /// <param name="s">小数位数,s大于等于0,小于等于28</param> /// <returns></retur
-
C#中Decimal类型截取保留N位小数并且不进行四舍五入操作
一.问题描述 开发中,需要使Decimal类型数据保留小数点后的两位小数且不需要进行四舍五入操作,即直接截取小数点后面的两位小数即可.例如:1.245M --> 1.24,而不是1.25 使用Decimal.Round()方法可以实现保留Decimal类型数据小数点后的若干位小数,但是该方法会进行四舍五入操作,而不是直接截取.所以,该方法不可取,在网上搜寻一番也没有找到合适的方法,便自己实现了一个截取Decimal类型数据小数点后若干位的方法. 二.详细的实现代码 using System; n
-
数据库 数据类型float到C#类型decimal, float数据类型转化无效
今天运行系统突然出错,数据类型转化无效,错误在system.data.sqlclient.get_decimal()方法,初步估计是数据库的float类型转换为c#的decimal类型时出错了,实体类使用的是decimal?类型,心想就算数据库里的数值是空,也不能出现转换错误啊. 网上百般搜索,很多人遇到类似情况,多数是直接去float类型时候出错,如(float)dr[0],后来看到有说应该是先转化成double,然后在转化成float就可以了 尝试了一下把实体类的decimal?类型的字段改
-
C#中decimal保留2位有效小数的实现方法
在C#的数字运算过程中,有时候针对十进制decimal类型的计算需要保留2位有效小数,针对decimal变量保留2位有效小数有多种方法,可以使用Math.Round方法以及ToString先转换为字符串等操作来实现. (1)方法一:使用C#中的数字计算类Math类中的方法Math.Round方法. Math.Round方法是用于计算四舍五入的方法,其中一个方法签名为decimal Round(decimal d, int decimals),d代表要进行计算的decimal变量,decimals
-
javascript实现保留两位小数的多种方法
第一种方法:javascript实现保留两位小数一位自动补零代码实例: 第一种方法介绍一下如何实现对数字保留两位小数效果,如果数字的原本小数位数不到两位,那么缺少的就自动补零,这个也是为了统一的效果,先看代码实例: function returnFloat(value){ var value=Math.round(parseFloat(value)*100)/100; var xsd=value.toString().split("."); if(xsd.length==1){ val
-
JS格式化数字保留两位小数点示例代码
问题:在JS中格式化数据保留两位小数的函数的多种方法 最好方法: 保留两位好像是这样吧 复制代码 代码如下: var a = 9.39393; alert(a.toFixed(2)); 说明: alert(Number.toFixed(9.39393)); 返回的是9.39 但是只有ie5.5以上的版本才支持. 其它方法: function roundFun(numberRound,roundDigit) //四舍五入,保留位数为roundDigit { if (numberRound>=0)
-
Flex中对表格中某列的值进行数字格式化保留两位小数
1.问题背景 一般的,表格中展示的比率,对比率的处理是:保留两位小数,并向上保留 2.实现实例 <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="libr
-
JS中移除非数字最多保留一位小数
js中移除非数字最多保留一位小数的实现代码如下所示: //去除非数字 var clearNoNum = function (item) { if (item!=null && item!=undefined) { //先把非数字的都替换掉,除了数字和. item = item.replace(/[^\d.]/g, ""); //必须保证第一个为数字而不是. item = item.replace(/^\./g, ""); //保证只有出现一个.而没有
-
JavaScript中判断为整数的多种方式及保留两位小数的方法
一.使用取余运算符判断 任何整数都会被1整除,即余数是0.利用这个规则来判断是否是整数. function isInteger(obj) { return obj%1 === 0 } isInteger(3) // true isInteger(3.3) // false 以上输出可以看出这个函数挺好用,但对于字符串和某些特殊值显得力不从心 isInteger('') // true isInteger('3') // true isInteger(true) // true isInteger
-
python中round函数保留两位小数的方法
在我们日常计算的过程中,如果计算出小数,对大量的被保留数据,采用四舍五入这种保留法的误差总和是最小的,能使被保留部分的与实际值差值不超过最后一位数量级的二分之一.四舍五入是一种精确度的保留法,是我们使用这种方法为基本保留法的原因.那在我们的python中如何四舍五入?如何保留小数?用round函数就可以. 1.round函数 python的内置函数,用于数字的四舍五入. 2.round 负数 四舍五入是围绕着0来计算的 示例 round(0.5) # 1.0 round(-0.5) #-1.0
-
java中求高精度除法,要求保留N位小数
目录 求高精度除法,要求保留N位小数 题目要求 java 大数处理和高精度小数处理(so easy) 简单的例子: 部分简单代码 求高精度除法,要求保留N位小数 题目要求 高精度除法,要求保留N位小数(四舍五入),并且当整数部分为0时去除0的显示 import java.math.BigDecimal; import java.util.Scanner; public class BD { public static void main(String[] args) { Scanner scan
-
浅谈Java中浮点型数据保留两位小数的四种方法
目录 一.String类的方式 二.DecimalFormat类 三.BigDecimal类进行数据处理 四.NumberFormat类进行数据处理 总结一下 今天在进行开发的过程中遇到了一个小问题,是关于如何将double类型的数据保留两位小数.突然发现这方面有一点欠缺,就来总结一下. 一.String类的方式 该方式是是使用String的format()方法来实现的,该方法的作用就是规范数据的格式,第一个参数传入一个字符串来表示输出的数据格式,如保留两位小数就使用"%.2f",第二
-
Java中保留两位小数的四种方法实现实例
在写程序的时候,有时候可能需要设置小数的位数,那么java中有哪几种保留小数位数的方法呢?本文以两位小数为例给出四种方法. package CodeJava_Leet; import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; /** * Created by Yechengpeng on 2016-08-14. */ public class Test { public
随机推荐
- CentOS下安装mysql时忘记设置root密码致无法登录的解决方法
- FCKeditor2.3 For PHP 详细整理的使用参考
- SQL Server2008 数据库误删除数据的恢复方法分享
- jquery使用Cookie和JSON记录用户最近浏览历史
- Java实现的Windows资源管理器实例
- iOS左滑手势失效的解决方法
- 预防网页挂马的方法总结
- asp.net实现拒绝频繁的IP访问的方法
- HttpWebRequest的常见错误使用TcpClient可避免
- PHP错误机制知识汇总
- php进行ip地址掩码运算处理的方法
- table 行转列的sql详解
- Python中输出ASCII大文字、艺术字、字符字小技巧
- javascript中with()方法的语法格式及使用
- 如何利用网桥功能实现有线上网
- 详解Unix/Linux中周期执行指令Crontab命令
- PHP在引号前面添加反斜杠(PHP去除反斜杠)
- Android判断touch事件点是否在view范围内的方法
- android Socket实现简单聊天功能以及文件传输
- PHP读写文件的方法(生成HTML)