如何将字符串(“1.0000”)转换为整数

How to Convert string("1.0000") to int

需要将小数点后4位居多的string格式数据转成int。 我已经尝试过这个但没有用,甚至直接使用这个 Convert.ToInt16() 但仍然没有用:

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

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

谢谢。

您可以使用以下内容:

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.

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

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

同时更改“.”到 ','

可以先转Double,再转Int32

String s = "1.0000";
Double temp;

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

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