对于Int32错误,值太大或太小

时间:2017-01-24 07:09:56

标签: c# asp.net

我正在尝试将Mobile Number添加到我的10位数

列中

但它给我的错误是

  

对于Int32来说,值太大或太小

这是代码

drpartyInfo[0]["MOB_NUM"] = string.IsNullOrWhiteSpace(e.Record["MOB_NUM"].ToString())
    ? DBNull.Value : (object)Convert.ToInt32(e.Record["MOB_NUM"].ToString());

4 个答案:

答案 0 :(得分:2)

手机号码无法存储在int中,请将您的类型更改为字符串

答案 1 :(得分:1)

最好使用longstringbyte array

你可以参考这个。

short.MaxValue:  32767
short.MinValue: -32768
ushort.MaxValue: 65535
ushort.MinValue: 0
int.MaxValue:    2,147,483,647
int.MinValue:   -2,147,483,648
uint.MaxValue:   4,294,967,295
uint.MinValue:   0
long.MaxValue:   9,223,372,036,854,775,807
long.MinValue:  -9,223,372,036,854,775,808
ulong.MaxValue:  18,446,744,073,709,551,615

如果您确定它始终为正数,则可以使用unsigned数据类型。

答案 2 :(得分:0)

Int32.MaxValue2,147,483,647

如果手机号码长度为10位,则有79%的可能性不适合Int32。尝试使用Int64(或UInt64)。

答案 3 :(得分:0)

如果您的号码大于2147483647,则无法存储到int32,使用字符串或使用int64,我怀疑您的号码是否大于9223372036854775807