2012-11-27 166 views
-2

如何將帶句點字符的字符串轉換爲int?如何將帶句點字符的字符串轉換爲int?

我必須將像「1924.912」這樣的字符串轉換爲int,但是int.Parse()Convert.ToInt32()方法在這裏不起作用。

+0

「1924.912」不包含逗號......您知道您希望將此值解析爲哪種文化嗎? –

+5

用逗號或句點的字符串? – StuartLC

+0

這看起來像是一個句號,而不是一個逗號,它可能有完全不同的含義,你能清楚地知道它是什麼。 –

回答

0

您可以使用Double.Parse(),然後將結果轉換爲int。

var result = (int)Double.Parse("1924.912"); 

(可選)您可以指定小數點分隔符,因爲它的本地特定。

如果你想從「1924.912」您可以通過更換做到這一點得到1924912「」通過 「」:

string s = "1924.912"; 
    int result = int.Parse(s.Replace(".", "")); 
    result.Dump(); 

將打印1924912.

0

做這個

string value = "34690.42724"; 
Convert.ToInt64(Math.Round(Convert.ToDouble(value))); 
1

試試這個:

var str = "1924.912"; 
var mass = str.Split('.').Select(x => x).ToArray(); 

或者這樣:

var str = "1924.912"; 
var mass = str.Split('.'); 

要讓未來所有小數如int使用:

var str = "1924.912"; 
var mass = str.Replace(".",""); 
+0

我只得到int中的第一個值(1924)。 我acctually需要他們兩個在同一INT(1924912) – Sydephix

+0

@Sydephix:使用下列內容:int.Parse( 「」 s.Replase( 「」))。看到我的答案更多細節。 –

0
double.Parse(textBox1.Text.Replace(".",",")) 
+0

這也只會返回int中的第一個值。我實際上需要他們在同一個整數 – Sydephix

0

如果你想字符串"1924.912"轉換爲整數1924912無論你用這個表達,你只需刪除字符串中的任何時段期間在做轉換之前:

Int32.Parse("1924.912".Replace(".", String.Empty))