c# - 如何将浮点数或双精度数转换为字符串
问题描述
我有一个这样的变量
double a=123456789012345678901234567890.1234567890123456;
我想将a(以上变量)转换为字符串值
console.writeline();
当我写
a.ToString();
我认为结果为
1.23456789012346E+29
但只有我想在下面有一个这样的变量。
string s="123456789012345678901234567890.1234567890123456";
我怎样才能从a制作s?
解决方案
你不能,因为double
没有这么高的精度,你可以将整个数字保存到double
. (要查看实际保存的部分,请尝试Console.WriteLine(a.ToString("n9"));
)
您必须使用另一种支持此类高精度数字的数据类型,例如BigDecimal
.