栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

格式化双打以在C#中输出

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

格式化双打以在C#中输出

问题是,.NET始终会 应用格式 之前 四舍五入

double
为15位有效的十进制数字,而不管您的格式要求的精度和二进制数的确切十进制值如何。
__

我猜想Visual Studio调试器有其自己的格式/显示例程,这些例程直接访问内部二进制数,因此C#代码,C代码和调试器之间存在差异。

没有内置的函数可以访问a的确切十进制值

double
,也无法
double
将a
格式化为特定的小数位数,但是您可以自己完成此工作,方法是将内部二进制数拆开并重建为十进制值的字符串表示形式。

另外,您可以使用Jon
Skeet的

DoubleConverter
类(从他的“二进制浮点和.NET”文章链接到)。该
ToExactString
方法具有返回a的精确十进制值的方法
double
。您可以轻松地对此进行修改,以将输出舍入为特定精度。

double i = 10 * 0.69;Console.WriteLine(DoubleConverter.ToExactString(i));Console.WriteLine(DoubleConverter.ToExactString(6.9 - i));Console.WriteLine(DoubleConverter.ToExactString(6.9));// 6.89999999999999946709294817992486059665679931640625// 0.00000000000000088817841970012523233890533447265625// 6.9000000000000003552713678800500929355621337890625


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/400766.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号