我的应用突然开始无法将格式为"18.000"
的字符串值转换为带有错误的小数或整数
System.FormatException:输入字符串的格式不正确。
尝试其中任何一个
decimal.Parse(stringValue);
int.Parse(stringValue);
即使几天前,它仍然可以正常工作。它也可以在我的本地计算机上工作,但不能在发布服务器上工作。
事实证明,我可以通过像这样传递CultureInfo.InvariantCulture
来解决此问题:
decimal.Parse(aod.PnPQuantity, CultureInfo.InvariantCulture)
但是当我检查服务器的本地化设置时,它肯定使用.
作为十进制分隔符:
我的问题是,这怎么可能?我还需要检查其他设置吗?这可能是它本身发生了变化,还是有人弄乱了我的设置?
我将来会阻止InvariantCulture
传递,还是我需要采取进一步的预防措施?