加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#双重格式化

发布时间:2020-12-16 01:55:21 所属栏目:百科 来源:网络整理
导读:我正在尝试将C#double值转换为指数表示法的字符串.考虑一下这个C#代码: double d1 = 0.12345678901200021;Console.WriteLine(d1.ToString("0.0####################E0"));//outputs: 1.23456789012E-1 (expected: 1.2345678901200021E-1) 任何人都可以告诉
我正在尝试将C#double值转换为指数表示法的字符串.考虑一下这个C#代码:

double d1 = 0.12345678901200021;
Console.WriteLine(d1.ToString("0.0####################E0"));
//outputs: 1.23456789012E-1 (expected: 1.2345678901200021E-1)

任何人都可以告诉我格式字符串从双d1输出“1.2345678901200021E-1”,如果可能的话?

解决方法

双值只能容纳15到16位数,你有17位(如果我算的是右边).由于64位双数字仅保留16位数字,因此您的最后一位数字会被截断,因此当您将数字转换为科学计数法时,最后一位数字似乎已被截断.

你应该使用十进制.十进制类型可以保存128位数据,而double只能保存64位.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读