在php中,我可以这样做:
if (balance == 0 && !neverBought)
余额来自API,是一个字符串。
在C#中,我尝试将balance转换为int,如下所示:
if (int.Parse(balance) == 0 && !(neverBought))
但是我得到了异常详细信息:System.FormatException:输入字符串的格式不正确。
我做错了什么?
答案 0 :(得分:7)
如果您不确定字符串是否有效,请使用TryParse
之类的方法尝试解析它而不抛出异常:
根据评论你也没有整数,你有一个十进制值,所以你也应该把它解析为一个。
decimal decimalBalance;
if(decimal .TryParse(balance, out decimalBalance)
&& decimalBalance == 0m && !neverBought)
答案 1 :(得分:-1)
Convert.ToInt32()可能会有所帮助
string a = "3";
int b = 3;
if (Convert.ToInt32(a) == b)
{
//do smth
}