有点困惑,我尝试在我的信用卡详细信息和电话中的数据类型int的最大和最小长度,但我不知道如何。
[Required(ErrorMessage = "Telephone is required")]
public int Telephone { get; set; }
[Required(ErrorMessage = "Card Type is required")]
[DisplayName("Card Type")]
[StringLength(20)]
public string CardType { get; set; }
[Required(ErrorMessage = "Card Holders Name is required")]
[DisplayName("Card Holders Name")]
[StringLength(160)]
public string CardHoldersName { get; set; }
public int CardNumber { get; set; }
public int CardExpMonth { get; set; }
public int CardExpYear { get; set; }
[ScaffoldColumn(false)]
public decimal Total;
答案 0 :(得分:4)
为什么要将卡号存储在整数中?字符串不合适吗?
字符串可以处理您需要的任何cc号码。它还可以处理(进一步处理)用户在数字之间输入空格的情况。
答案 1 :(得分:1)
如果您要以数字格式存储CardNumber
,请使用long
。 A 32-bit signed int
's max value is 2,147,483,647
- 请记住,int
是synonymous with System.Int32
- 这远远不足以容纳16位信用卡号码。 long
(aka System.Int64
)的最大值为9,223,372,036,854,775,807
,因此它可以保存每个18位数字。
请注意,uint
(无符号32位整数)仍然不够大,因为它的最大值仅为4,294,967,295
。
答案 2 :(得分:0)
使用BigInteger
System.Numerics
我认为这对你有用
http://msdn.microsoft.com/en-us/library/system.numerics.biginteger.aspx
在.NET中使用难以置信的大数字