2012-05-22 125 views
-2

如何將字符串轉換爲int?我知道convert.ToInt32被使用,但它失敗。錯誤是輸入字符串格式不正確。 String s1 =「12.00」如何將字符串轉換爲int?

+0

12.00不是一個整數,它的十進制格式! –

回答

4

錯誤是因爲字符串是"12.00"

第一轉換字符串比翻番INT

int a = Convert.ToInt32(Convert.ToDouble("12.00")); 

如果你只是想它的整數部分比

string s= "12.00"; 
string[] words = s.Split('.'); 
int a = Convert.ToInt32(words[0]); 

另外ch eck已經回答了SO上的線索:C# Convert String Decimal to Int

3

「12.00」是十進制數字,不是整數。整數沒有小數部分。在調用Convert.ToInt32之前,使用Convert.ToDouble或類似的函數獲取浮點數,或者修剪掉字符串的小數部分(.及其後面的內容)。

0

字符串「12.00」是一個雙精度/十進制值。使用Double.Parse()或Double.TryParse()或Convert.ToDouble()。

6

我喜歡小數點分隔符總是點的假設(.)。你最好使用InvariantCulture,其中包含一個NumberFormat中明確指定的點作爲小數點分隔符:

Convert.ToInt32(Convert.ToDouble("12.00", CultureInfo.InvariantCulture)); 

澄清:half the world uses the dot, the other half a comma。當我在一臺裝有荷蘭文化的電腦上運行這個程序,並且沒有指定CultureInfo時,它將採用系統默認(逗號)並返回1200,忽略點。

雖然它不會直接影響您的問題,但這是不能強調的。