【C#】如果有一个数值如 168.0000100,如何去除末尾的无效零,只显示有效的小数位数,让DeepSeek给我们解答_c# 去除小数点最后一个零
🌹欢迎来到《小5讲堂》🌹
🌹这是《C#》系列文章,每篇文章将以博主理解的角度展开讲解。🌹
🌹温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!🌹
目录
- 前言
- 实例
- 推荐文章
前言
有次刚入行的一位朋友咨询我,能不能把多余的小数点去掉,想了两秒,答案肯定是可以的。
实例
在 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#】使用代码实现龙年春晚扑克牌魔术(守岁共此时),流程描述篇