Convert.ToInt32()一个带逗号的字符串

Emi*_*yan 51 c#

我有时有逗号,分离该数字就像一根绳索1,500,我需要将其转换为int,目前它抛出一个异常,可有人告诉我如何使有时候解决这个问题我可以用逗号等次输入数字用逗号,它仍将转换.

CMS*_*CMS 138

你可以使用int.Parse并添加NumberStyles.AllowThousands标志:

int num = int.Parse(toParse, NumberStyles.AllowThousands);
Run Code Online (Sandbox Code Playgroud)

或者int.TryParse让您知道操作是否成功:

int num;
if (int.TryParse(toParse, NumberStyles.AllowThousands,
                 CultureInfo.InvariantCulture, out num))
{
    // parse successful, use 'num'
}
Run Code Online (Sandbox Code Playgroud)

  • 你在开玩笑,.Net可以做到吗?!太好了! (5认同)
  • 非常好,如果你想解析更多的数字,如数十亿,使用NumberStyles.Number标志. (2认同)

Sam*_*Sam 6

您可以使用Decimal.Parse()然后将结果转换为int.这也适用于当前文化,或者您可以指定CultureInfo要使用.无需手动处理逗号,小数点等,这些都是.NET内置的.