当前位置: 首页 > news >正文

根据gbt81702008数值修约的C#函数

#region 修约函数/// </summary>/// <param name="data_val">输入数值</param>/// <param name="len">保留几位小数</param>/// <returns></returns>public static decimal round_gbt8170(decimal data_val,int len){string num = data_val.ToString();string zs = num.Split('.')[0];//整数string xs = "";if(num.Split('.').Length>0)xs = num.Split('.')[1];//小数数if (len>= xs.Length)//小数位数<=需要保留几位小数{xs = xs.ToString().PadRight(len, '0');}else {string lxs = "";if(len>1)lxs = xs.Substring(0, len - 1);int ds = Convert.ToInt32(xs.Substring(len - 1, 1));//取保留小数位数的数字int ns =Convert.ToInt32(xs.Substring(len , 1));//取保留小数位数的下一位数字if (ns < 5)//舍去{xs = lxs + ds.ToString();}else if (ns >5)//进1{xs = lxs + (ds+1).ToString();}else if (ns ==5){string hs = "";//取保留小数位数的下一位数字的后面所有数字if (xs.Length - 1 > len)hs = xs.Substring(len + 1);if (hs != "" && Convert.ToInt32(hs) > 0)   //舍弃数字的最左一位数字是 5,且其后有非0数字时进一,即保留数字的末位数字加1xs = lxs + (ds + 1).ToString();else //拟舍弃数字的最左一位数字为5,且其后无数字或皆为0时,若所保留的末位数字为奇数(1,3,5,7,9)则进一,即保留数字的末位数字加1;若所保留的末位数字为偶数(0,2,4,6,8),则舍去。{if(ds%2==0) //所保留的末位数字为偶数(0, 2, 4, 6, 8),则舍去{xs = lxs + ds.ToString();}else  if (ds % 2 ==1) //,若所保留的末位数字为奇数(1,3,5,7,9)则进一,即保留数字的末位数字加1{xs = lxs + ds.ToString();xs = lxs + (ds + 1).ToString();}}}}decimal fh = data_val;if (len > 0)fh = Convert.ToDecimal(zs + "." + xs);elsefh = Convert.ToDecimal(zs);return fh;}#endregion

相关文章:

  • Logstash:迁移数据到 Elasticsearch
  • MySQL 8.0中新增的功能(八)
  • Python+甘特图及标签设置
  • 计算机网络层之ICMP与IGMP
  • 已解决java.lang.NoSuchFieldException异常的正确解决方法,亲测有效!!!
  • Python 网络爬虫入门详解
  • 图解Kubernetes的服务(Service)
  • 高并发场景系统设计的时候应该怎么考虑?
  • python入门,数据容器:set集合
  • mybatis核心配置文件介绍
  • 作业:通过两台linux主机配置ssh实现互相免密登陆
  • 大模型背景下计算机视觉年终思考小结(一)
  • 【计算机组成原理】高速缓冲存储器 Cache 的写策略(Writing Policy)
  • 【教学类-43-20】20240113 数独(二)4宫格、9宫格 无空行A4模板
  • 【REST2SQL】05 GO 操作 达梦 数据库
  • Elasticsearch 参考指南(升级前重新索引)
  • Javascript 原型链
  • ReactNative开发常用的三方模块
  • SAP云平台里Global Account和Sub Account的关系
  • vue--为什么data属性必须是一个函数
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 工作手记之html2canvas使用概述
  • 诡异!React stopPropagation失灵
  • 微信小程序填坑清单
  • 我从编程教室毕业
  • #LLM入门|Prompt#3.3_存储_Memory
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (2)STL算法之元素计数
  • (5)STL算法之复制
  • (day6) 319. 灯泡开关
  • (function(){})()的分步解析
  • (javascript)再说document.body.scrollTop的使用问题
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (汇总)os模块以及shutil模块对文件的操作
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .Net 基于.Net8开发的一个Asp.Net Core Webapi小型易用框架
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • @Async注解的坑,小心
  • @TableLogic注解说明,以及对增删改查的影响
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • [C#] 我的log4net使用手册
  • [C++]unordered系列关联式容器
  • [CareerCup] 17.8 Contiguous Sequence with Largest Sum 连续子序列之和最大
  • [ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-controller-manager失败
  • [flink总结]什么是flink背压 ,有什么危害? 如何解决flink背压?flink如何保证端到端一致性?
  • [hdu 2896] 病毒侵袭 [ac自动机][病毒特征码匹配]
  • [iOS]Win8下iTunes无法连接iPhone版本的解决方法
  • [leetcode] 103. 二叉树的锯齿形层次遍历
  • [LVGL]:MACOS下使用LVGL模拟器
  • [office] 怎么在Excel2003菜单栏自定义一个选项卡 #其他#微信#知识分享