如何将浮点数转换为字符串?

时间:2015-11-01 12:56:18

标签: c#

如何将浮点数转换为字符串?

for (float i = 1000000000; i < 10000000000; i++)
{
     //temp never change and it's value is 1000000000
     string temp = Convert.ToInt64(i).ToString();

}

这个数字很大,我想把我作为字符串保存在像

这样的文件上
1000000001
1000000002
1000000003

1 个答案:

答案 0 :(得分:1)

  

如何将浮点数转换为字符串?

显然:i.ToString()。请参阅the documentation以了解如何应用格式以获得所需的输出。

然而,有几个笔记:

  • 名为i的变量通常表示int而非float
  • 使用forfloat类型的变量进行迭代是模糊不清的。
  • 您确定要使用浮点数据类型,实际上您将其视为整数吗?请考虑使用longdecimal
  

temp永远不会改变,它的值是1000000000

float的精确度不够来存储与偶数1000000000一样大的数字,只丢弃最不重要的地方。 Wikipedia:“具有六个或更少有效十进制数字的所有整数都可以转换为IEEE 754浮点值。”这就是结果看起来相同的原因。作为副作用,您的for周期永远不会结束。

因此,首先,问问自己为什么在第一个地方声明变量类型为float ?特别是因为您的代码中转换为long,无论如何。考虑使用longdecimal。那么你的代码就可以了。