private void Init(decimal number) { //maximum number 999 million. if (number < 0 || number > 999999999) { throw new InvalidNumberRangeException(); } var n = (int)number; if (Validator.ValidateMillionPlace(n)) { million = new MillionPlace(n); } var n1 = (n >= 1000000) ? n - (n / 1000000 * 1000000) : n; if (Validator.ValidateThousandPlace(n1)) { thousand = new ThousandPlace((int)n1); } var n2 = (n1 >= 1000) ? n - (n / 1000 * 1000) : n1; if (Validator.ValidateHundredPlace(n2)) { hundred = new HundredPlace((int)n2); } var n3 = (n2 >= 100) ? n - (n / 100 * 100) : n2; if (Validator.ValidateTenPlace(n3)) { ten = new TenPlace((int)n3); } else { var n4 = (n3 >= 10) ? n - (n / 10 * 10) : n3; if (Validator.ValidateOnePlace(n4)) { one = new OnePlace((int)n4); } } var centStr = ""; var centArray = number.ToString("0.00").Split(".".ToCharArray()); if (centArray.Length == 2) { centStr = centArray[1]; } var c = 0; if (int.TryParse(centStr, out c) && Validator.ValidateCentPlace(c)) { cent = new CentPlace(c); } }
public void ShouldGetHundredThousand() { var t = new ThousandPlace(300000); Assert.AreEqual(t.ToWord(), "Three Hundred Thousand"); var t1 = new ThousandPlace(333000); Assert.AreEqual(t1.ToWord(), "Three Hundred and Thirty Three Thousand"); }
public void ShouldGetTenThousand() { var t = new ThousandPlace(30000); Assert.AreEqual(t.ToWord(), "Thirty Thousand"); var t1 = new ThousandPlace(31000); Assert.AreEqual(t1.ToWord(), "Thirty One Thousand"); var t2 = new ThousandPlace(99900); Assert.AreEqual(t2.ToWord(), "Ninety Nine Thousand"); }
public void ShouldGetThousand() { var t = new ThousandPlace(3000); Assert.AreEqual(t.ToWord(), "Three Thousand"); }