public override void WriterAddAttribute(XmlWriter writer) { writer.WriteAttributeString("FirstNumber", FirstNumber.ToString()); writer.WriteAttributeString("LastNumber", LastNumber.ToString()); writer.WriteAttributeString("StepNumber", StepNumber.ToString()); base.WriterAddAttribute(writer); }
public string NumberToThaiWord(double InputNumber) { string result; if (InputNumber == 0) { result = "ศูนย์บาทถ้วน"; return(result); } string NewInputNumber; NewInputNumber = InputNumber.ToString("###0.00"); if (Convert.ToDouble(NewInputNumber) >= 10000000000000) { result = ""; return(result); } string[] tmpNumber = new string[2]; string FirstNumber; string LastNumber; tmpNumber = NewInputNumber.Split(Convert.ToChar(".")); FirstNumber = tmpNumber[0]; LastNumber = tmpNumber[1]; int nLength = 0; nLength = Convert.ToInt32(FirstNumber.Length); int CNumber = 0; int CNumberBak = 0; string strNumber = ""; string strPosition = ""; string FinalWord = ""; int CountPos = 0; for (int i = nLength; i >= 1; i--) { CNumberBak = CNumber; CNumber = Convert.ToInt32(FirstNumber.Substring(CountPos, 1)); if (CNumber == 0 && i == 7) { strPosition = "ล้าน"; } else if (CNumber == 0) { strPosition = ""; } else { strPosition = PositionToText(i); } if (CNumber == 2 && strPosition == "สิบ") { strNumber = "ยี่"; } else if (CNumber == 1 && strPosition == "สิบ") { strNumber = ""; } else if (CNumber == 1 && strPosition == "ล้าน" && nLength >= 8) { if (CNumberBak == 0) { strNumber = "หนึ่ง"; } else { strNumber = "เอ็ด"; } } else if (CNumber == 1 && strPosition == "" && nLength > 1) { strNumber = "เอ็ด"; } else { strNumber = NumberToText(CNumber); } CountPos = CountPos + 1; FinalWord = FinalWord + strNumber + strPosition; } CountPos = 0; CNumberBak = 0; nLength = Convert.ToInt32(LastNumber.Length); string Stang = ""; string FinalStang = ""; if (Convert.ToDouble(LastNumber) > 0) { for (int i = nLength; i >= 1; i--) { CNumberBak = CNumber; CNumber = Convert.ToInt32(LastNumber.Substring(CountPos, 1)); if (CNumber == 1 && i == 2) { strPosition = "สิบ"; } else if (CNumber == 0) { strPosition = ""; } else { strPosition = PositionToText(i); } if (CNumber == 2 && strPosition == "สิบ") { Stang = "ยี่"; } else if (CNumber == 1 && i == 2) { Stang = ""; } else if (CNumber == 1 && strPosition == "" && nLength > 1) { if (CNumberBak == 0) { Stang = "หนึ่ง"; } else { Stang = "เอ็ด"; } } else { Stang = NumberToText(CNumber); } CountPos = CountPos + 1; FinalStang = FinalStang + Stang + strPosition; } FinalStang = FinalStang + "สตางค์"; } else { FinalStang = ""; } string SubUnit; if (FinalStang == "") { SubUnit = "บาทถ้วน"; } else { if (Convert.ToDouble(FirstNumber) != 0) { SubUnit = "บาท"; } else { SubUnit = ""; } } result = FinalWord + SubUnit + FinalStang; return(result); }
public void ConfirmAnswer() { if (PlusToggle.IsChecked == false && MinusToggle.IsChecked == false & MultiplyToggle.IsChecked == false) { //没有选择运算法则 SetAlgorithmDialog(); } else { if (PuzzleText.Text.Substring(PuzzleText.Text.Length - 1) == "?") { //正在显示问题,user提交答案 if (InputBox.Text != "") { int result = 0; string sym = ""; switch (Symbol) { case 1: //加法 result = FirstNumber + LastNumber; sym = "+"; break; case 2: //减法 result = FirstNumber - LastNumber; sym = "-"; break; case 3: result = FirstNumber * LastNumber; sym = "×"; break; } if (InputBox.Text == result.ToString()) { //验证为正确答案 formula.AddHistory(FirstNumber.ToString() + sym + LastNumber.ToString() + "=" + result.ToString()); DidPuzzle(true);//做对 InputBox.Text = ""; //刷新题目 RefreshPuzzle(); } else { //验证为错误答案 formula.AddHistory(FirstNumber.ToString() + sym + LastNumber.ToString() + "=" + result.ToString() + " !"); DidPuzzle(false); InputBox.Text = ""; //显示正确答案 PuzzleText.Text = FirstNumber.ToString() + sym + LastNumber.ToString() + "=" + result.ToString(); } } } else { //已显示答案,刷新题目 RefreshPuzzle(); } } }