我从外部接口接收到一个字符串,其中包含一个
INT32
值。这个值代表着带符号的整数 "-100",因此看起来像是这个字符串 "4294967196"。
如果它看起来像 "-100",我可以使用 Int32.TryParse()
将其转换为带符号值。
但在我的情况下,它将值按原样解释,并告诉我该值太大(>2.147.483.647)。
有什么解决方法可以让它正常工作?如何告诉解析器前导的 1 不是数字?
编辑: 对于我的不准确之处表示抱歉。我接收到的值是一个看起来像这样的字符串 "4294967196"。它代表一个值为-100的Uint32
。如果接口返回一个包含"-100"的字符串,那么就可以直接使用Int32.TryParse()
。这就是我想表达的。
(int) (uint.Parse("4294967196"))
有什么问题? - Skiminok"-100"
,它等价于"4294967196"
?“如果它看起来像-100
我可以使用Int32.TryParse()
将其转换为有符号值”的意思我不是很明白,因为对我而言,"-100"
就是"-100"
。还有,“领先的1不是数字”是什么意思? - wkl