decimal decimalVal;
Decimal.TryParse("123-", out decimalVal);
Console.WriteLine(decimalVal); // -123为什么"123-“字符串是这样解析的?
发布于 2018-10-23 21:52:12
NumberNegativePattern仅用于字符串输出,但在解析时被忽略。对于解析,使用了另一个参数:NumberStyles。
在您的示例中,Convert.ChangeType路由到decimal.Parse,因此,如果您直接使用正确的重载,则可以指定不允许使用尾随符号:
var result = decimal.Parse("123-", NumberStyles.Number & ~NumberStyles.AllowTrailingSign); // will throw an exceptionhttps://stackoverflow.com/questions/17147919
复制相似问题