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(); }
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"); } }