大多数4位小数的字符串格式数据需要转换为int。 我试过这个但是没有用,甚至直接使用这个Convert.ToInt16()但仍然没有用:
Int32 result;
bool status = Int32.TryParse(v, out result);
还有其他方法可以转换吗?
感谢。
答案 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;
同时改变'。'到','