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位. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |