ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【C#底层库】数值扩展(将小数值按指定的小数位数舍入)

【C#底层库】数值扩展(将小数值按指定的小数位数舍入) 系列文章C#底层库–万能进制转换器自定义有序字符支持任意进制本文链接https://blog.csdn.net/youcheng_ge/article/details/130444724C#底层库–StringExtension字符串扩展类本文链接https://blog.csdn.net/youcheng_ge/article/details/129520428C#底层库–MySQL数据库访问操作辅助类推荐阅读本文链接https://blog.csdn.net/youcheng_ge/article/details/126886379C#底层库–SQLBuilder构建类自研ORM本文链接https://blog.csdn.net/youcheng_ge/article/details/129179216C#底层库–XML配置参数读写辅助类推荐阅读本文链接https://blog.csdn.net/youcheng_ge/article/details/129175304C#底层库–数据库类型与程序类型转换器本文链接https://blog.csdn.net/youcheng_ge/article/details/128817610C#底层库–文件上传辅助类本文链接https://blog.csdn.net/youcheng_ge/article/details/128817487C#底层库–RegexHelper正则表达式辅助类本文链接https://blog.csdn.net/youcheng_ge/article/details/109745286C#底层库–程序日志记录类本文链接https://blog.csdn.net/youcheng_ge/article/details/124187709C#底层库–排序算法帮助类本文链接https://blog.csdn.net/youcheng_ge/article/details/124495730C#底层库–SQLite的使用轻量、单击数据库本文链接https://blog.csdn.net/youcheng_ge/article/details/123666958C#底层库–获取文件版本和MD5值本文链接https://blog.csdn.net/youcheng_ge/article/details/112513871C#底层库–文件操作类文件重命名、目录移动、字节流转换本文链接https://blog.csdn.net/youcheng_ge/article/details/126887161C#底层库–Excel数据读取类可读加密表格本文链接https://blog.csdn.net/youcheng_ge/article/details/126887445C#底层库–随机数生成器本文链接https://blog.csdn.net/youcheng_ge/article/details/126888812C#底层库–CSV和DataTable相互转换本文链接https://blog.csdn.net/youcheng_ge/article/details/128804367C#底层库–JSON使用教程_详细序列化、反序列化、转DataTable本文链接https://blog.csdn.net/youcheng_ge/article/details/128805705C#底层库–cookie使用教程本文链接https://blog.csdn.net/youcheng_ge/article/details/128816347C#底层库–Session操作辅助类本文链接https://blog.csdn.net/youcheng_ge/article/details/128817096C#底层库–Image图片操作类本文链接https://blog.csdn.net/youcheng_ge/article/details/128805298C#底层库–图片增加水印辅助类本文链接https://blog.csdn.net/youcheng_ge/article/details/128817184C#底层库–数据实体类本文链接https://blog.csdn.net/youcheng_ge/article/details/128816638C#底层库–网络通信帮助类HTTP本文链接https://blog.csdn.net/youcheng_ge/article/details/126886697文章目录系列文章前言一、底层库作用二、底层库源码三、使用方法四、项目样例五、资源链接前言【C#底层库】​拒绝重复造轮子本专栏致力于构建一套企业级通用组件库将项目中高频使用的功能如数据库访问、加密解密、HTTP通信、Office操作等进行深度封装与单元测试形成稳定可靠的“开发底座”。您无需关心复杂的底层实现只需一行调用代码即可解决繁琐的业务支撑问题。专栏持续集成与优化涵盖MySQL、日志、Session、文件处理等核心模块。关注我让复杂的功能实现变得简单高效有任何问题欢迎私信交流一、底层库作用DecimalUtil数值扩展类将小数值按指定的小数位数舍入、将小数值按指定的小数位数截取、检查数值小数位超出指定长度抛出异常信息.二、底层库源码创建类DecimalUtil.cs复制以下代码。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceCommon{/// summary/// 数值扩展/// /summarypublicstaticclassDecimalUtil{/// summary/// 将小数值按指定的小数位数舍入/// 解决SAP接口自动将3位小数后加0转为4位小数报错Server Error的问题/// /summary/// param named要舍入的小数/param/// param namedecimals返回值中的小数位数默认3/param/// returns/returnspublicstaticdecimalAppRound(thisdecimald,intdecimals3){varmultiple(decimal)Math.Pow(10,decimals);//竟然带上MidpointRounding.AwayFromZero的四舍五入才是对的varresultMath.Round(d*multiple,MidpointRounding.AwayFromZero)/multiple;returnresult;}/// summary/// 将小数值按指定的小数位数舍入/// 解决SAP接口自动将3位小数后加0转为4位小数报错Server Error的问题/// /summary/// param named要舍入的小数/param/// param namedecimals返回值中的小数位数默认3/param/// returns/returnspublicstaticdoubleAppRound(thisdoubled,intdecimals3){varmultipleMath.Pow(10,decimals);//竟然带上MidpointRounding.AwayFromZero的四舍五入才是对的varresultMath.Round(d*multiple,MidpointRounding.AwayFromZero)/multiple;returnresult;}/// summary/// 将小数值按指定的小数位数截取/// /summary/// param named要截取的小数/param/// param namedecimals返回值中的小数位数/param/// returns/returnspublicstaticdecimalAppCut(thisdecimald,intdecimals){varstrDecimald.ToString();varindexstrDecimal.IndexOf(.);if(index-1||strDecimal.Lengthindexdecimals1){strDecimalstring.Format({0:Fdecimals},d);}else{varlengthindex;if(decimals!0){lengthindexdecimals1;}strDecimalstrDecimal.Substring(0,length);}returndecimal.Parse(strDecimal);}/// summary/// 将小数值按指定的小数位数截取/// /summary/// param named要截取的小数/param/// param namedecimals返回值中的小数位数/param/// returns/returnspublicstaticdoubleAppCut(thisdoubled,intdecimals){varstrDecimald.ToString();varindexstrDecimal.IndexOf(.);if(index-1||strDecimal.Lengthindexdecimals1){strDecimalstring.Format({0:Fdecimals},d);}else{varlengthindex;if(decimals!0){lengthindexdecimals1;}strDecimalstrDecimal.Substring(0,length);}returndouble.Parse(strDecimal);}/// summary/// 检查数值小数位超出指定长度抛出异常信息/// /summary/// param named数值/param/// param namedecimals小数位长度默认3位/parampublicstaticvoidCheckDecimalPlaces(thisdecimald,intdecimals3){if(d0)return;vardStrd.ToString();vardStrArrdStr.Split(newstring[]{.},StringSplitOptions.RemoveEmptyEntries);if(dStrArr.Length1dStrArr[1].Lengthdecimals)thrownewException($操作量{d}小数位不能大于{decimals}位请确认);}}}三、使用方法无四、项目样例无五、资源链接无
返回列表