我有以下代码来转换非常长的数字字符串。
using System;
class MainClass {
public static void Main (string[] args) {
string longString = "1000000000000000000000000000001";
double convertedString = Double.Parse(test);
Console.WriteLine(test2);
}
}
但是,convertedString以科学计数法输出:
1E+30
从字符串转换为double时,是否可以保留double的确切值?
答案 0 :(得分:0)
输出的格式与变量本身的精度无关。您可以通过更改format string来获得所需的格式,例如
Console.WriteLine("{0:N}", test1);
关于变量的精度,您应该注意floating point numbers are not precise。而且您的电话号码大约十位数太长,无法放入long
。
您可能需要将该数字存储为自定义数据类型,或者,如果它只是一个标识符而不是实际上需要进行数学运算的数字,则只需将其存储为字符串即可。