double保持精度,防止小数点后数字的丢失的小方法

一般情况下,输入带小数点的字面值,编译器会把它解析成double 类型。

例如:一个字面值被直接放到代码中,由于带小数点所以,默认值为double类型

 
输出结果是:1.12345678912345(最后一个数字丢失了)这是因为double值精度就这么长啊
有什么办法可以使输出的结果具有完整的精度呢??
我们可以将字面值显示声明为decimal类型,通过追加一个M或m后缀来实现
 
 
嘻嘻,还有另外一种办法可以防止最后一位数字被丢弃哦,可以使用格式字符串和round-trip 格式说明符R或r进行转换。
例如:string.Format("{0:R}", 1.123456789123477) ,输出的结果:1.123456789123477,最后一个数字还在哦
 
round-trip格式说明符返回的字符串转换回数值肯定能获得原始值了,如果没有使用round-trip格式,那输入与输出的值肯定不一样了
posted @   huangenai  阅读(3359)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示