如何将字符串(" 1.0000")转换为int

时间:2016-09-02 08:30:55

标签: c# string int valueconverter

大多数4位小数的字符串格式数据需要转换为int。 我试过这个但是没有用,甚至直接使用这个Convert.ToInt16()但仍然没有用:

Int32 result;
bool status = Int32.TryParse(v, out result);

还有其他方法可以转换吗?

感谢。

3 个答案:

答案 0 :(得分:4)

您可以先将其转换为Double,然后转换为Int32

String s = "1.0000";
Double temp;

Boolean isOk = Double.TryParse(s, out temp);

Int32 value = isOk ? (Int32) temp : 0;

答案 1 :(得分:3)

您可以使用以下内容:

string data = "1.0000";
int number
if(data.Contains('.'))
    number = int.Parse(data.Substring(0, data.IndexOf('.'))); //Contains decimal separator
else
    number = int.Parse(data); //Contains only numbers, no decimal separator.

由于1.0000包含小数位,因此首先从string中删除它们,然后将字符串解析为int

答案 2 :(得分:1)

您必须将其解析为十进制,然后转换为int。

decimal resultTmp;
bool status = Decimal.TryParse("1.000".Replace(".",","), out resultTmp);
int result = (int)resultTmp;

同时改变'。'到','