首页 > 解决方案 > 如何将浮点数或双精度数转换为字符串

问题描述

我有一个这样的变量

double a=123456789012345678901234567890.1234567890123456;

我想将a(以上变量)转换为字符串值

console.writeline();

当我写

a.ToString(); 

我认为结果为

1.23456789012346E+29

但只有我想在下面有一个这样的变量。

string s="123456789012345678901234567890.1234567890123456";

我怎样才能从a制作s?

标签: c#stringdouble

解决方案


你不能,因为double没有这么高的精度,你可以将整个数字保存到double. (要查看实际保存的部分,请尝试Console.WriteLine(a.ToString("n9"));

您必须使用另一种支持此类高精度数字的数据类型,例如BigDecimal.


推荐阅读