LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

【C#】如果有一个数值如 168.0000100,如何去除末尾的无效零,只显示有效的小数位数

freeflydom
2026年2月9日 14:42 本文热度 133

前言

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

实例

在 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"

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

转自https://blog.csdn.net/lmy_520/article/details/148895662


该文章在 2026/2/9 14:43:10 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved