将long Double转换为Int?

the*_*man 0 c# rounding

试图转换以下值:

9.40551020088303E + 21

9405510200883031584406

我不知道该怎么做?Math.Round,(int)Value.

编辑:好的我可能在这里错了,但我试图将此转换为9405510200883031584406无论如何可能,它可以是一个字符串,或不同的类型.

最终结果是跟踪号码,我开始的是运输公司为我提供的服务.

L.B*_*L.B 5

我能想到的最接近的事情就是使用BigInteger

double d = 9.40551020088303E+21;
BigInteger bi = new BigInteger(d);
Console.WriteLine(bi.ToString());
Run Code Online (Sandbox Code Playgroud)

输出将是:

9405510200883030261760
Run Code Online (Sandbox Code Playgroud)

  • 一个重要的注意事项是,最后一个'0261760`是双重存储方式的副作用,没有办法让原来的'1584406`反过来. (2认同)