为什么 decimal.Parse(10 10)
有效?
在这种情况下我需要获得异常(exception)。
请给我一些建议。
decimal c;
try
{
c = decimal.Parse("10 10");
Console.Write(c);
Console.ReadLine();
}
catch (Exception)
{
throw;
}
最佳答案
当我运行它时会抛出异常 - 这让我怀疑它对文化敏感。
我的猜测是您所处的文化使用空格作为“千”分隔符。例如,如果我尝试解析有效的“10,10”,因为在我的默认区域性中逗号是千位分隔符。
要防止这种情况,请使用
decimal value = decimal.Parse(text, NumberStyles.None);
... 或 NumberStyles
的其他一些适当组合其中不包括 AllowThousands
。
关于c# - 为什么 decimal.Parse(10 10) 有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7482152/