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

news2025/2/28 0:04:49

#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数字时进一,即保留数字的末位数字加1
                        xs = 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);
            else
                fh = Convert.ToDecimal(zs);
            return fh;
        }
        #endregion

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1382631.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从CES 2024看AI PC江湖

被称为消费电子“春晚”的CES&#xff0c;是科技行业在每一个新的年份&#xff0c;所敲响的第一个钟声。 今年CES 2024&#xff0c;AI PC则发出了“最强音”&#xff0c;是当之无愧的C位。 科技巨头都高度重视AI PC这个赛道&#xff0c;产业链上下游从芯片、设备商、系统软件方…

【Python学习】Python学习16- 文件I/O

目录 【Python学习】Python学习16- 文件I/O 前言打印读取键盘输入打开和关闭文件open 函数access_mode值参考&#xff1a;File对象的属性 文件定位重命名和删除文件rename() 方法remove()方法 Python里的目录mkdir()方法chdir()方法getcwd() 方法rmdir()方法 参考 文章所属专区…

使用 Windbg 分析软件异常时的诸多细节与技巧总结

目录 1、dump文件 1.1、dump文件的生成方式 1.2、dump文件的大小 2、pdb符号文件 2.1、pdb文件的路径设置 2.2、pdb文件的时间戳与名称问题 2.3、如何确定要找哪些pdb文件&#xff1f; 3、使用Windbg静态分析dump文件以及动态调试程序的一般步骤 4、确定发生异常或崩溃…

NSSCTF Round# 16 Basic pwn方向题解

pwn nc_pwnre 没有附件&#xff0c;nc直接连接 给了一段汇编代码&#xff0c;让gpt翻译一下 这段汇编代码是一个循环&#xff0c;它对存储在ebpi位置的字符串进行处理。让我逐步解释一下每个指令的作用&#xff1a;mov eax, [ebpi]: 将ebpi位置的值加载到eax寄存器中。 add e…

Django框架实现RESTful API,对商品信息的增删改查,前后端分离

如果是第一次接触Django框架&#xff0c;可以先了解Django项目是怎么创建的。 文章目录 1.什么是RESTful API&#xff1f;1.1RESTful API 中的动作 2.使用Django框架实现RESTful 接口2.1初始化项目&#xff0c;安装必要的环境2.2定义商品模型2.3 迁移数据到数据库2.4 创建序列…

QT上位机开发(知识产权ip保护)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 大部分看我们文章的网友&#xff0c;本身就是搞技术出身的&#xff0c;很少是做生意&#xff0c;或者是做销售的。但是技术本身&#xff0c;它又是…

12.2内核空间基于SPI总线的OLED驱动

在内核空间编写SPI设备驱动的要点 在SPI总线控制器的设备树节点下增加SPI设备的设备树节点&#xff0c;节点中必须包含 reg 属性、 compatible 属性、 spi-max-frequency 属性&#xff0c; reg 属性用于描述片选索引&#xff0c; compatible属性用于设备和驱动的匹配&#xff…

开发辅助六(实现统一数据返回格式+统一异常处理+统一日志处理)

统一返回格式 一、添加枚举类 public enum ResultCodeEnum{SUCCESS(true,20000,"成功"),UNKNOWN_REASON(false,20001,"未知错误");private final Boolean success;private final Inteer code;private final String message;ResultCodeEnum(Boolean succe…

《ORANGE’S:一个操作系统的实现》读书笔记(三十)文件系统(五)

上一篇文章记录了如何进行文件的创建&#xff0c;那么本篇文章要记录的事情就是如何在创建的文件中进行读写操作&#xff0c;毕竟文件是要操作才有意义的。 读写文件 由于我们使用“一次分配&#xff0c;终身使用”的扇区分配策略&#xff0c;所以文件读写变得非常容易&#…

4_【Linux版】重装数据库问题处理记录

1、卸载已安装的oracle数据库。 2、知识点补充&#xff1a; 3、调整/dev/shm/的大小 【linux下修改/dev/shm tmpfs文件系统大小 - saratearing - 博客园 (cnblogs.com)】 mount -o remount,size100g /dev/shm 4、重装oracle后没有orainstRoot.sh 【重装oracle后没有orains…

外国入境的免签国家以及中外互免(普通护照*、普通公务护照)

2024.1.11起&#xff0c;外籍人员在北京首都、北京大兴、上海浦东、杭州萧山、厦门高崎、广州白云、深圳宝安、成都天府、西安咸阳9个国际机场&#xff0c;推行24小时直接过境旅客免办边检手续。对于持24小时内国际联程机票&#xff0c;经上述任一机场过境前往第三国或地区的出…

Leading Dimension是什么

在LAPACK中频繁出现Leading Dimension&#xff08;中文翻译为“主维度”&#xff09;&#xff0c;那么它是什么呢&#xff1f; 首先了解行主序&#xff08;Row-Major&#xff09;和列主序&#xff08;Column-Major&#xff09;的概念&#xff1a; Given a matrix A of shape …

低代码助力制造业数智转型,激发创新力迎接工业 4.0

随着科技的不断进步&#xff0c;我们迈入了一个崭新的工业时代——工业4.0。这场工业革命不仅颠覆了制造业的传统形象&#xff0c;还为全球生产方式带来了前所未有的变革。 在这一过程中&#xff0c;制造业数字化转型逐渐成为主旋律&#xff0c;而低代码技术在这其中发挥着重要…

Azure Machine Learning - 视频AI技术

Azure AI 视频索引器是构建在 Azure 媒体服务和 Azure AI 服务&#xff08;如人脸检测、翻译器、Azure AI 视觉和语音&#xff09;基础之上的一个云应用程序&#xff0c;是 Azure AI 服务的一部分。 有了 Azure 视频索引器&#xff0c;就可以使用 Azure AI 视频索引器视频和音频…

注册中心--zookeeper 安装并启动

zookeeper 安装/启动 注册中心--zookeeper安装步骤zookeeper常用命令 注册中心–zookeeper zookeeper官方下载地址 最早由雅虎开发&#xff0c;用来解决分布式系统中的一致性问题。功能&#xff1a;包括配置管理、集群的扩容和缩容、分布式锁等等。 安装步骤 1&#xff09;…

使用kibana来创建ElasticSearch的索引库与文档的命令

文章目录 &#x1f412;个人主页&#x1f3c5;JavaEE系列专栏&#x1f4d6;前言&#xff1a;&#x1f380;使用kibana来为ElasticSearch创建索引库&#x1f380;使用kibana来为ElasticSearch创建修改文档 &#x1f412;个人主页 &#x1f3c5;JavaEE系列专栏 &#x1f4d6;前言…

Jetpack Flow 、Room 初学者学习记录

学习使用响应式Flow操作数据&#xff0c;记录自己学习的过程。 ContactViewModel 是一个 ViewModel&#xff0c;它依赖于一个Room操作接口 ContactDao &#xff0c;访问对象来获取联系人数据。它使用了 StateFlow 来处理状态的变化和数据的更新。ViewModels 通常用于管理应用的…

【数据结构】树和二叉树堆(基本概念介绍)

&#x1f308;个人主页&#xff1a;秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343&#x1f525; 系列专栏&#xff1a;《数据结构》https://blog.csdn.net/qinjh_/category_12536791.html?spm1001.2014.3001.5482 ​​ 目录 前言 树的概念 树的常见名词 树与…

【OpenGauss源码学习 —— 执行器(execMain)】

执行器&#xff08;execMain&#xff09; 概述文件内容作用执行的操作主要函数概述 部分函数详细分析ExecutorStart 函数standard_ExecutorStart 函数 ExecutorRun 函数standard_ExecutorRun 函数 ExecutorFinish 函数standard_ExecutorFinish 函数 ExecutorEnd 函数standard_E…

[软件工具]通用OCR识别文字识别中文识别服务程序可局域网访问

【软件界面】 【算法介绍】 采用业界最先进算法之一paddlocr&#xff0c;PaddleOCR&#xff0c;全称PaddlePaddle OCR&#xff0c;是一种基于深度学习的光学字符识别&#xff08;OCR&#xff09;技术。相较于传统的OCR技术&#xff0c;PaddleOCR具有许多优点。 首先&#xff0…