2012-11-27 124 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))