コード例 #1
0
ファイル: Romawi.cs プロジェクト: s192/AcNomorAtribut
        public Romawi(int num)
        {
            if (num < 1)
            {
                throw new ArgumentOutOfRangeException("Zero or Negative integer.");
            }
            this.Value = num;
            StringBuilder stringbuilder = new StringBuilder("");

            Romawi.Pair[] pairArray = Romawi.pairs;
            for (int i = 0; i < (int)pairArray.Length; i++)
            {
                Romawi.Pair pair = pairArray[i];
                while (num >= pair.Value)
                {
                    stringbuilder.Append(pair.StringValue);
                    num = num - pair.Value;
                }
            }
            this.Text = stringbuilder.ToString();
        }
コード例 #2
0
ファイル: Romawi.cs プロジェクト: s192/AcNomorAtribut
 public Romawi(string value)
 {
     if (value == null || value.Trim() == "")
     {
         throw new ArgumentException("Null or Empty string.");
     }
     this.Text = value;
     Romawi.Pair[] pairArray = Romawi.pairs;
     for (int i = 0; i < (int)pairArray.Length; i++)
     {
         Romawi.Pair pair = pairArray[i];
         while (value.StartsWith(pair.StringValue))
         {
             this.Value = this.Value + pair.Value;
             value      = value.Substring(pair.StringValue.Length);
         }
     }
     if (value != "")
     {
         throw new ArgumentException("Invalid Roman Number");
     }
 }