.net decimal保留指定的小数位数(不四舍五入)
前言
项目中遇到分摊金额的情况,最后一条的金额=总金额-已经分摊金额的和。
这样可能导致最后一条分摊的时候是负数,所以自己写了一个保留指定位数小数的方法。
扩展方法的使用,使得调用起来很优雅。
示例代码
public static class DecimalExtension { /// <summary> /// decimal保留指定位数小数 /// </summary> /// <param name="num">原始数量</param> /// <param name="scale">保留小数位数</param> /// <returns>截取指定小数位数后的数量字符串</returns> public static string ToString(this decimal num, int scale) { string numToString = num.ToString(); int index = numToString.IndexOf("."); int length = numToString.Length; if (index != -1) { return string.Format("{0}.{1}", numToString.Substring(0, index), numToString.Substring(index + 1, Math.Min(length - index - 1, scale))); } else { return num.ToString(); } } }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
相关推荐
-
javascript中的toFixed固定小数位数 简单实例分享
[code]<script> var a=4.2343; alert(a.toFixed(3)); </script> <script>var a=4.2343;alert(a.toFixed(3));</script>执行结果: toFixed方法将一个数字转换成一个拥有固定小数位数的字符串.
-
PHP四舍五入精确小数位及取整
进一法取整.四舍五入取整.忽略小数等的取整数方法大全 PHP取整数函数常用的四种方法,下面收集了四个函数:经常用到取整的函数,今天小小的总结一下!其实很简单,就是几个函数而已--主要是:ceil,floor,round,intval PHP取整数函数常用的四种方法,下面收集了四个函数:经常用到取整的函数,今天小小的总结一下!其实很简单,就是几个函数而已--主要是:ceil,floor,round,intval 一.ceil - 进一法取整 说明float ceil ( float value )
-
关于数据库中保留小数位的问题
在数据库中有时我们可能需要对一些数据进行处理,例如四舍五入.直接舍去后面的几位等,其实很简单,都是有现成的函数,我们只需要套用就行了:select round(10.98*10)/10 from dual;--四舍五入select ceil(10.63*10)/10 from dual;--取上限值select floor(10.68*10)/10 from dual;--取下限值
-
java精度计算代码 java指定精确小数位
本文实例为大家分享了java指定精确小数位的具体代码,供大家参考,具体内容如下 java代码: public class App2 { public static void main(String[] args) { String val = checkNumber("10.1234155", 2, 6).toString(); System.out.println(val); } public static BigDecimal checkNumber(String number,
-
C# double和decimal数据类型以截断的方式保留指定的小数位数
项目中要用到以截断的方式取小数点后两位,故写了以下方法: 复制代码 代码如下: /// <summary> /// 将小数值按指定的小数位数截断 /// </summary> /// <param name="d">要截断的小数</param> /// <param name="s">小数位数,s大于等于0,小于等于28</param> /// <returns></retur
-
java小数位的例子
方式一:四舍五入double f = 111231.5585;四舍五入 保留两位小数,可以用String的format函数,方法如下: 复制代码 代码如下: System.out.println(String.format("%.2f", x1));System.out.println(String.format("%.2f", x2)); DecimalFormat转换最简便 复制代码 代码如下: public void m2() { De
-
用js格式化金额可设置保留的小数位数
复制代码 代码如下: //金额的格式化s为要格式化的参数(浮点型),n为小数点后保留的位数 function formatMoney(s,n){ n = n>0 && n<=20 ? n : 2; s = parseFloat((s+"").replace(/[^\d\.-]/g,"")).toFixed(n)+""; var l = s.split(".")[0].split("&quo
-
C# 小数位数保留的方法集锦
1.System.Globalization.NumberFormatInfo provider = new System.Globalization.NumberFormatInfo(); provider.NumberDecimalDigits =intDecLength; //要设定的小数位数 double strCashAmt=Convert.ToDouble(this.txtCashAmt.Text); //先把控件內的值转成double this.txtCashAmt.Text =
-
jquery精度计算代码 jquery指定精确小数位
本文实例为大家分享了jquery指定精确小数位的具体代码,供大家参考,具体内容如下 /** * 将标签的值格式化 * id 标签id * min 最小值 * max 最大值 */ function toFloat(id,min,max){ var htmlVal = $("#"+id).html(); var index = htmlVal.indexOf("."); var result = ""; if(index > 0){ html
-
python通过floor函数舍弃小数位的方法
本文实例讲述了python通过floor函数舍弃小数位的方法.分享给大家供大家参考.具体分析如下: python中可以通过math库的floor函数来舍弃浮点数后面的小数位 import math print(math.floor( x )) 例如:x=1.2,返回1.0 其返回值为浮点数,如果希望返回整数,可以写成: import math #from jb51.net print(int(math.floor( x ))) 输出结果:1 希望本文所述对大家的Python程序设计有所帮助.
随机推荐
- javascript中实现兼容JAVA的hashCode算法代码分享
- js操作table元素实现表格行列新增、删除技巧总结
- Python实现一个转存纯真IP数据库的脚本分享
- java 正则,object中两个方法的使用(详解)
- 深入掌握 react的 setState的工作机制
- PHP sleep()函数, usleep()函数
- 分析并输出Python代码依赖的库的实现代码
- Python面向对象特殊成员
- JS关键字变色实现思路及代码
- mysql存储过程实例
- php实现将Session写入数据库
- 学习python之编写简单乘法口诀表实现代码
- 一个SQL语句获得某人参与的帖子及在该帖得分总和
- C#中判断本地系统的网络连接状态的方法
- PHP正则提取不包含指定网址的图片地址的例子
- Spring Boot中自动化配置的利弊以及解决方法
- 基于Spring Boot的Logback日志轮转配置详解
- ASP.NET Forms身份认证详解
- Android开发之利用Activity实现Dialog对话框
- Java语言求解完美数代码分析