将指数转换为整数

本文关键字:整数 转换 指数 | 更新日期: 2023-09-27 18:30:47

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

如果我执行以下操作:

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

如果我这样做:

Int64.Parse("2.200000000000E+09")

我期待:

2200000000

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

将指数转换为整数

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

使用这样的System.Globalization.NumberStyles.Float

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

您可以使用

decimal x = decimal.Parse("2.200000000000E+09", NumberStyles.Float);

您可以使用

十进制 x = 十进制。parse("2.200000000000E+09", NumberStyles.Float);

@Bhushan菲拉克。 这行代码:"decimal x = decimal.Parse("2.200000000000E+09", NumberStyles.Float);"实际上帮助了我,但我发现decimal.Parse的"d"必须像这样用大写字母 D 写成这样 -> Decimal.Parse( 。我将第二个参数更改为 System.Globalization.NumberStyles.Any .所以正确的代码实际上应该是这样的:decimal StringToNumVar = Decimal.Parse(MyString, System.Globalization.NumberStyles.Any);