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

【C#】如果有一个数值如 168.0000100,如何去除末尾的无效零,只显示有效的小数位数,让DeepSeek给我们解答

🌹欢迎来到《小5讲堂》🌹
🌹这是《C#》系列文章,每篇文章将以博主理解的角度展开讲解。🌹
🌹温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!🌹

在这里插入图片描述

目录

  • 前言
  • 实例
    • 方法 1:使用 `ToString()` + 格式字符串 `"G"`(通用格式)
    • 方法 2:使用 `ToString()` + `"0.########..."`(自定义格式)
    • 方法 3:使用 `TrimEnd('0')` 处理字符串
    • 方法 4:使用 `decimal` 类型(更高精度)
    • 总结
  • 推荐文章

前言

有次刚入行的一位朋友咨询我,能不能把多余的小数点去掉,想了两秒,答案肯定是可以的。

实例

在 C# 中,如果你有一个数值如 90.0000100,想要去除末尾的无效零,只显示有效的小数位数(即 90.00001),可以使用以下方法:

方法 1:使用 ToString() + 格式字符串 "G"(通用格式)

"G"(General)格式会自动去除不必要的零:

double value = 90.0000100;
string formatted = value.ToString("G"); // 输出 "90.00001"
Console.WriteLine(formatted);

在这里插入图片描述

注意"G" 默认最多保留 15 位有效数字,适用于大多数情况。


方法 2:使用 ToString() + "0.########..."(自定义格式)

如果 "G" 格式不符合预期,可以手动指定最多保留的小数位数:

double value = 90.0000100;
string formatted = value.ToString("0.########"); // 输出 "90.00001"
Console.WriteLine(formatted);

在这里插入图片描述

# 表示可选数字位,如果后面是零则省略。


方法 3:使用 TrimEnd('0') 处理字符串

如果数值已经是字符串形式,可以直接移除末尾的零:

string valueStr = "90.0000100";
string trimmed = valueStr.TrimEnd('0'); // 输出 "90.00001"
if (trimmed.EndsWith(".")) trimmed = trimmed.TrimEnd('.'); // 处理整数情况(如 "90." → "90")
Console.WriteLine(trimmed);

在这里插入图片描述


方法 4:使用 decimal 类型(更高精度)

如果涉及财务计算,建议使用 decimal 类型,再结合 ToString("G")

decimal value = 90.0000100m;
string formatted = value.ToString("G"); // 输出 "90.00001"
Console.WriteLine(formatted);

在这里插入图片描述

这种方法貌似不行。


总结

方法适用场景示例
ToString("G")自动去除无效零90.0000100 → "90.00001"
ToString("0.########")自定义小数位数90.0000100 → "90.00001"
TrimEnd('0')字符串处理"90.0000100" → "90.00001"
decimal + "G"高精度计算90.0000100m → "90.00001"

选择最适合你的方式即可!

推荐文章

【C#】如果有一个数值如 168.0000100,如何去除末尾的无效零,只显示有效的小数位数,让DeepSeek给我们解答

【C#】Quartz.NET怎么动态调用方法,并且根据指定时间周期执行,动态配置类何方法以及Cron表达式,有请DeepSeek

【C#】.net core6.0无法访问到控制器方法,直接404。由于自己的不仔细,出现个低级错误,这让DeepSeek看出来了,是什么错误呢,来瞧瞧

【C#】Html转Pdf,Spire和iTextSharp结合,.net framework 4.8

【C#】事务(进程 ID 64)与另一个进程被死锁在锁资源上,并且已被选作死锁牺牲品。请重新运行该事务。不能在具有唯一索引“XXX_Index”的对象“dbo.Test”中插入重复键的行。

【C#】使用DeepSeek帮助评估数据库性能问题,C# 使用定时任务,每隔一分钟移除一次表,再重新创建表,和往新创建的表追加5万多条记录

【C#】合理使用DeepSeek相关AI应用为我们提供强有力的开发工具,在.net core 6.0框架下使用JsonNode动态解析json字符串,如何正确使用单问号和双问号做好空值处理

【C#】已经实体类和动态实体类的反射使用方法,两分钟回顾,码上就懂

【C#】使用vue3的axios发起get和post请求.net framework部署的API显示跨域

【C#】.net core 6.0 webapi 使用core版本的NPOI的Excel读取数据以及保存数据

【C#】pdf按页分割文件,以及分页合并,效果还不错,你值得拥有

【C#】未能加载文件或程序集“CefSharp.Core.Runtime.dll”或它的某一个依赖项。找不到指定的模块。

【C#】.net core 6.0 在program时间格式统一json格式化,并列举program默认写法和简化写法

【C#】.net core 6.0 ApiController,API控制器方法,API接口以实体类作为接收参数应该注意的点

【C#】 SortedDictionary,查找字典中是否存在给定的关键字

【C#】.net core 6.0 MVC返回JsonResult显示API接口返回值不可被JSON反序列化

【C#】.net core 6.0 使用第三方日志插件Log4net,配置文件详细说明

【C#】使用代码实现龙年春晚扑克牌魔术(守岁共此时),代码实现篇

【C#】使用代码实现龙年春晚扑克牌魔术(守岁共此时),流程描述篇

http://www.xdnf.cn/news/14795.html

相关文章:

  • 量化选股策略 聚宽
  • 基于Python的GIS-RS多源数据处理(TIF/SHP/NC/...)【20250630】
  • 华为云Flexus+DeepSeek征文 | 对接华为云ModelArts Studio大模型:AI赋能投资理财分析与决策
  • js代码03
  • 每天一个前端小知识 Day 17 - 微前端架构实战与 Module Federation
  • 基于Flask技术的民宿管理系统的设计与实现
  • 嵌入式原理与应用篇---常见基础知识(10)
  • 前后端Dockerfile
  • Spring生态:云原生与AI的革新突破
  • python环境快速搭建
  • Windows11系统中安装docker并配置docker镜像到pycharm中
  • 企业自建云概念解读|私有云、专有云、混合云、分布式云、企业云
  • 对称非对称加密,https和http,https通讯原理,Charles抓包原理
  • 《如何在 Spring 中实现 MQ 消息的自动重连:监听与发送双通道策略》
  • JavaEE初阶第五期:解锁多线程,从 “单车道” 到 “高速公路” 的编程升级(三)
  • Windows环境下Docker容器化的安装与设置指南
  • 时序数据库IoTDB监控指标采集与可视化指南
  • 基于MATLAB的SVM支持向量机的乳腺癌分类方法应用
  • 现代 JavaScript (ES6+) 入门到实战(六):异步的终极形态 - async/await 的优雅魔法
  • HTTP中常见的Content-Type
  • HybridCLR热更新实例项目及改造流程
  • 现代 JavaScript (ES6+) 入门到实战(五):告别回调地狱,Promise 完全入门
  • 免费SSL证书一键申请与自动续期
  • STM32——HAL库总结
  • 【AGI】Qwen VLo:多模态AI的范式重构与AGI演进关键里程碑
  • mac触摸板设置右键
  • 【HuggingFace】模型下载至本地访问
  • 基于Pandas和FineBI的昆明职位数据分析与可视化实现(三)- 职位数据统计分析
  • 条件概率:不确定性决策的基石
  • C#写破解rar文件密码例程