实现代码:

/// <summary>
/// 小数位修约 -- 四舍六入5成双,至少保留一位有效位(四舍六入五成双)
/// 数值0.00512,保留2位,修约为0.005;0.00025修约保留3位,修约后0.0002;
/// </summary>
/// <param name="modifyValue">修约值</param>
/// <param name="degit">保留位数</param>
/// <returns></returns>
public static string CalcValue(decimal modifyValue, int? degit){decimal calValue = 0;int degitNotNull = degit ?? 2;if (Math.Abs(modifyValue) >= 1){calValue = Math.Round(modifyValue, degitNotNull);}//按此修约为0则至少保留1位有效位数if (calValue == 0 && modifyValue != 0){string value = modifyValue.ToString();//从小数点后value = value.Substring(value.IndexOf(".") + 1);for (int i = 0; i < value.Length; i++){bool zero = value.Substring(i, 1) == "0" ? true : false;if (!zero){if ((i + 1) < degitNotNull){calValue = Math.Round(modifyValue, degitNotNull);}else{calValue = Math.Round(modifyValue, (i + 1));}break;}}return calValue.ToString();}else{return calValue.ToString("F" + degitNotNull);}
}

C# 小数位修约(保留小数位有效数位)相关推荐

  1. Java 保留小数位时整数位0丢失问题

    Java 保留小数位时整数位0丢失问题 Java 保留三位小数位 推荐写法: java.text.DecimalFormat df =new java.text.DecimalFormat(" ...

  2. python中保留小数_python保留小数位的三种实现方法

    前言 保留小数位是我们经常会碰到的问题,尤其是刷题过程中.那么在python中保留小数位的方法也非常多,但是笔者的原则就是什么简单用什么,因此这里介绍几种比较简单实用的保留小数位的方法: 方法一:fo ...

  3. python取三位小数_python保留小数位的三种实现方法

    更多python教程请到: 菜鸟教程www.piaodoo.com 人人影视www.sfkyty.com 16影视www.591319.com 星辰影院www.591319.com 前言 保留小数位是 ...

  4. 将python中的小数直接进位的函数_python保留小数位的三种实现方法

    python保留小数位的三种实现方法 前言 保留小数位是我们经常会碰到的问题,尤其是刷题过程中.那么在python中保留小数位的方法也非常多,但是笔者的原则就是什么简单用什么,因此这里介绍几种比较简单 ...

  5. SAP License:税额保留小数位差异处理

    (1)问题 由于SAP系统采用2位小数,增值税采用4位小数,发票校验时出现差异. (2)应用条件 通过手工调整,不通过系统的自动计算功能. (3)具体操作 (1)更改税码,事务代码FTXP. (2)将 ...

  6. python round保留小数位_Python-其他-round()保留小数位时遇到的问题

    最近有一个需求,原有整数计算,改成小数计算,保留一位小数. 于是按照需求,将数据结构由 int 改为 float ,计算时采用round()方法来保留小数位. 第一版代码如下: a = 0.10000 ...

  7. java 格式化 浮点数_DecimalFormat的用法 Java 浮点数 Float Double 小数 格式化 保留小数位后几位等...

    DecimalFormat的用法  Java 浮点数 Float Double 小数 格式化 保留小数位后几位等 DecimalFormat df = new DecimalFormat(); dou ...

  8. 数值修约程序(包括运算过程有效数字保留,Python3实现)

    数值修约程序(包括运算过程有效数字保留,Python3实现) 2022.09更新:考虑到需要用到这个程序的朋友很可能没有计算机基础(这也是我只放在csdn而没有放github的原因),我稍微加了一点注 ...

  9. 四舍六入五成双并保留一位有效位-数据修约

    C# /// <summary>/// 数据修约 -- 四舍六入5成双,至少保留一位有效位/// 数值0.00512,保留2位,修约为0.01/// </summary>/// ...

最新文章

  1. 怎么用python创建文件-如何用Python创建生成xml文档文件的方法
  2. 【Linux】一步一步学Linux——tty命令(240)
  3. Horizon View 6-客户端连接虚拟桌面⑹
  4. 音视频技术开发周刊 | 188
  5. python3基础学习(双色球随机生成器)
  6. Proxmox VE 安装、配置、使用之第二章 Proxmox VE 的安全性
  7. JAXB和java.util.Map
  8. GROUP BY 和SUBSTRING 的配合使用
  9. 环形单链表的约瑟夫问题
  10. Kafka 环境部署与配置详解
  11. 解决“ValueError: Stop argument for islice() must be None or an integer: 0 <= x <= sys.maxsize.”
  12. Ryu学习总结(持续更新)
  13. SpringBoot+Vue项目的PDF导出及给PDF文件盖章的功能示例
  14. 密码学复习笔记2【分组密码/S-DES、DES】
  15. html 自动填充缓存,禁止input密码自动填充及浏览器缓存密码账号解决方案
  16. 博弈论在自动驾驶方向的应用(Ⅰ):变道决策的综述
  17. 京东2016春招(实习)笔试+编程题
  18. java安卓自动关机_android自动关机代码
  19. tensorflw视频
  20. tcp连接之半连接攻击和全连接攻击总结

热门文章

  1. python将excel数据提取到word
  2. 《C++ Concurrencyin Action》第10章--多线程程序的测试和调试
  3. JS学习日记--正则基础语法
  4. border渐变 ios_iOS实现颜色渐变
  5. tornado源码分析-Application
  6. Word | 在给毕业论文添加页眉和页脚的时候,如何略过首页和第二页
  7. 2018/12/22
  8. 已知某公众号的微信号怎样获取该公众号的二维码
  9. 液化气瓶口的二维码“身份证”
  10. 【论文精读】2016-CVPR-Learning temporal regularity in video sequences