private void CalculateRepeatingDecimalNumber() { if (DecimalNumberTB.Text.Length > 0) { RepeatingDecimalNumber repeatingDecimalNumber = new RepeatingDecimalNumber(decimal.Parse(DecimalNumberTB.Text)); CountNUD.Maximum = repeatingDecimalNumber.GetDecimalsLength(); repeatingDecimalNumber.RepeatingDecimalsCount = (uint)CountNUD.Value; string outText; if (outFractionLabelDisplayMode == 0) { outText = (repeatingDecimalNumber.IsRepeatingDecimal() ? "" : Environment.NewLine) + repeatingDecimalNumber.ToLineNotationString(); } else { outText = Environment.NewLine + repeatingDecimalNumber.ToString(36); } Output(repeatingDecimalNumber.GetAsFraction(), outText); } else { ClearOutputs(); } }
public void GetAsFraction_Huge() { RepeatingDecimalNumber dn = new RepeatingDecimalNumber(0.3529411764705882m, 16); Assert.AreEqual(new Fraction(6, 17), dn.GetAsFraction()); }
public void GetAsFraction3_Negative() { RepeatingDecimalNumber dn = new RepeatingDecimalNumber(-123.045600m, 5); Assert.AreEqual(new Fraction(-4101479, 33333), dn.GetAsFraction()); }
public void GetAsFraction2_Negative() { RepeatingDecimalNumber dn = new RepeatingDecimalNumber(-123.456m, 3); Assert.AreEqual(new Fraction(-41111, 333), dn.GetAsFraction()); }
public void GetAsFraction1_Negative() { RepeatingDecimalNumber dn = new RepeatingDecimalNumber(-0.1111m, 2); Assert.AreEqual(new Fraction(-1, 9), dn.GetAsFraction()); }
public void GetAsFraction0() { RepeatingDecimalNumber dn = new RepeatingDecimalNumber(0.125m); Assert.AreEqual(new Fraction(1, 8), dn.GetAsFraction()); }