.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(); } } }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
相关推荐
-
关于数据库中保留小数位的问题
在数据库中有时我们可能需要对一些数据进行处理,例如四舍五入.直接舍去后面的几位等,其实很简单,都是有现成的函数,我们只需要套用就行了:select round(10.98*10)/10 from dual;--四舍五入select ceil(10.63*10)/10 from dual;--取上限值select floor(10.68*10)/10 from dual;--取下限值
-
javascript中的toFixed固定小数位数 简单实例分享
[code]<script> var a=4.2343; alert(a.toFixed(3)); </script> <script>var a=4.2343;alert(a.toFixed(3));</script>执行结果: toFixed方法将一个数字转换成一个拥有固定小数位数的字符串.
-
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
-
PHP四舍五入精确小数位及取整
进一法取整.四舍五入取整.忽略小数等的取整数方法大全 PHP取整数函数常用的四种方法,下面收集了四个函数:经常用到取整的函数,今天小小的总结一下!其实很简单,就是几个函数而已--主要是:ceil,floor,round,intval PHP取整数函数常用的四种方法,下面收集了四个函数:经常用到取整的函数,今天小小的总结一下!其实很简单,就是几个函数而已--主要是:ceil,floor,round,intval 一.ceil - 进一法取整 说明float ceil ( float value )
-
用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 =
-
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程序设计有所帮助.
-
C# double和decimal数据类型以截断的方式保留指定的小数位数
项目中要用到以截断的方式取小数点后两位,故写了以下方法: 复制代码 代码如下: /// <summary> /// 将小数值按指定的小数位数截断 /// </summary> /// <param name="d">要截断的小数</param> /// <param name="s">小数位数,s大于等于0,小于等于28</param> /// <returns></retur
-
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,
-
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
随机推荐
- 详解AngularJS中的表达式使用
- win2003服务器搭建DNS服务器配置图解教程(比较详细)
- 详解使用docker 1.12 搭建多主机docker swarm集群
- Web 设计与开发者必须知道的 15 个站点
- java mail使用qq邮箱发邮件的配置方法
- 基于Bootstrap使用jQuery实现输入框组input-group的添加与删除
- 利用mongodb查询某坐标是否在规定多边形区域内的方法
- C#线程间不能调用剪切板的解决方法
- 解决python2.7用pip安装包时出现错误的问题
- 一天一个shell命令 linux文本操作系列-diff命令详解
- 详解StackExchange.Redis通用封装类分享
- Android开发之底图局部加载移动的方法示例
- Jquery的Tabs内容轮换效果实现代码,几行搞定
- javascript对talbe进行动态添加、删除、验证实现代码
- as3+xml+asp+access做的有奖问答
- spring boot devtools在Idea中实现热部署方法
- 使用IDEA编写jsp时EL表达式不起作用的问题及解决方法
- 解决vue热替换失效的根本原因
- mockjs+vue页面直接展示数据的方法
- tp5框架内使用tp3.2分页的方法分析