0

ちょっと混乱しています。クレジットカードの詳細と電話でデータ型 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;
4

3 に答える 3

4

カード番号を整数で保存するのはなぜですか?文字列の方が適切ではありませんか?

文字列は、必要な任意の cc 番号を処理できます。また、(さらなる処理のために) ユーザーが数字の間にスペースを入力した場合も処理できます。

于 2012-04-17T02:38:59.397 に答える
1

CardNumberを数値形式で保存する場合は、 long. 32 ビットの signedintの最大値は— と2,147,483,647同義であるintことを覚えておいてください — これは、16 桁のクレジット カード番号を保持するのに十分な大きさではありません。A (aka )の最大値はであるため、18 桁の数字ごとに保持できます。System.Int32longSystem.Int649,223,372,036,854,775,807

uint(符号なし 32 ビット整数) は、最大値が単に であるため、まだ十分な大きさではないことに注意してください4,294,967,295

于 2012-04-17T02:35:34.473 に答える
0

BigInteger名前空間で利用可能な構造を使用System.Numerics

これはあなたに役立つと思います

http://msdn.microsoft.com/en-us/library/system.numerics.biginteger.aspx

.NET で非常に大きな数を扱う

http://www.codeproject.com/Articles/2728/C-BigInteger-Class

于 2012-04-17T03:44:48.697 に答える