为什么:
decimal.Parse("1,2,3,45", CultureInfo.InvariantCulture)
返回12345的小数,但是:
int.Parse("1,2,3,45", CultureInfo.InvariantCulture)
抛出异常?我希望对于相同的文化,逗号的处理方式是相同的。如果 decimal.Parse
返回12345,为什么不 int.Parse
还返回12345?
为什么:
decimal.Parse("1,2,3,45", CultureInfo.InvariantCulture)
返回12345的小数,但是:
int.Parse("1,2,3,45", CultureInfo.InvariantCulture)
抛出异常?我希望对于相同的文化,逗号的处理方式是相同的。如果 decimal.Parse
返回12345,为什么不 int.Parse
还返回12345?
默认值 NumberStyles
对于int是 Integer
:
整数表示使用AllowLeadingWhite,AllowTrailingWhite和AllowLeadingSign样式。这是一种复合数字样式。
相比于 Number
(用于 decimal
):
Number表示使用AllowLeadingWhite,AllowTrailingWhite,AllowLeadingSign,AllowTrailingSign,AllowDecimalPoint和AllowThousands样式。这是一种复合数字样式。
如果您想要更多,请使用接受的重载 NumberStyles
和供应(例如) NumberStyles.Number
要么 NumberStyles.Any
:
int i = int.Parse("1,2,3,45", NumberStyles.Number, CultureInfo.InvariantCulture);
默认值 NumberStyles
对于int是 Integer
:
整数表示使用AllowLeadingWhite,AllowTrailingWhite和AllowLeadingSign样式。这是一种复合数字样式。
相比于 Number
(用于 decimal
):
Number表示使用AllowLeadingWhite,AllowTrailingWhite,AllowLeadingSign,AllowTrailingSign,AllowDecimalPoint和AllowThousands样式。这是一种复合数字样式。
如果您想要更多,请使用接受的重载 NumberStyles
和供应(例如) NumberStyles.Number
要么 NumberStyles.Any
:
int i = int.Parse("1,2,3,45", NumberStyles.Number, CultureInfo.InvariantCulture);