将指数转换为整数

时间:2013-09-10 19:21:32

标签: c# parsing exponential

我有以下字符串:2.200000000000E+09

如果我执行以下操作:

float.Parse("2.200000000000E+09") = 2.2E+9

如果我这样做:

Int64.Parse("2.200000000000E+09")

我在期待:

2200000000

相反,我得到一个格式异常,那么将指数变为整数的最简单方法是什么?

3 个答案:

答案 0 :(得分:4)

您应该使用System.Globalization.NumberStyles.Float之类的:

Int64.Parse("2.200000000000E+09", System.Globalization.NumberStyles.Float);

答案 1 :(得分:4)

var i = System.Numerics.BigInteger.Parse("2.200000000000E+09",
                         NumberStyles.Float ,
                         CultureInfo.InvariantCulture);

答案 2 :(得分:0)

您可以使用

执行此操作
decimal x = decimal.Parse("2.200000000000E+09", NumberStyles.Float);