2010-04-08 68 views

回答

7

可以解析字符串作爲雙精度型,然後將double轉換爲整數。

然而,從雙鑄造整數受精度丟失甚至整數溢出

string s = "6.21129e+006"; 
double d = Double.Parse(s); 
Console.WriteLine(s); 

int i = (int)d; 
Console.WriteLine(i); 
4

假設你肯定結果將轉換爲整數,你可以解析它爲雙和強制轉換爲int:

[Test] 
public void Example() 
{ 
    int num = (int)double.Parse("6.21129e+006"); 

    Assert.That(num, Is.EqualTo(6211290)); 
} 
2

您可以使用NumberStyles.Float參數上int.Parse方法:

var n = int.Parse("6.21129e+006", System.Globalization.NumberStyles.Float); 

注意,這將失敗如果解析的數字是雙精度,例如5e-1這是0.5