2015-01-20 3 views
-1

Я пытаюсь построить простой калькулятор чаевых и получить и ТОЧНОЕ значение того, что должен быть наконечник. Я закончил большую часть этого, но я изо всех сил пытаюсь найти точные два числа после десятичного знака, потому что он их округляет. Может ли кто-нибудь помочь?Как мне сделать так, чтобы он не закрывал валюту?

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace project01LEA 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void exitToolStripMenuItem1_Click(object sender, EventArgs e) 
     { 
      this.Close(); 
     } 

     private void aboutToolStripMenuItem_Click(object sender, EventArgs e) 
     { 
      MessageBox.Show("Lyndsee Armstrong\nCSIS 1400\nProject #1"); 
     } 

     private void textBox1_Leave(object sender, EventArgs e) 
     { 
      //define variables 
      const double POOR = 0.10; 
      const double AVERAGE = 0.15; 
      const double EXCELLENT = 0.20; 

      double mealAmount = Convert.ToDouble(textBox1.Text); 

      double doubledPoor = Convert.ToInt32(POOR * mealAmount); 
      double doubledAverage = Convert.ToInt32(AVERAGE * mealAmount); 
      double doubledExcellent = Convert.ToInt32(EXCELLENT * mealAmount); 

      string outStr = string.Format("{0:C2}", doubledPoor); 
      string outStr1 = string.Format("{0:C2}", doubledAverage); 
      string outStr2 = string.Format("{0:C2}", doubledExcellent); 

      textBox2.Text = outStr; 
      textBox3.Text = outStr1; 
      textBox4.Text = outStr2; 
     } 
    } 
} 
+2

Вы должны указывать язык при показе кода (это помогает людям найти ваш вопрос, а также влияет на подсветку синтаксиса). Я добавил тэг C#. – crashmstr

ответ

2

Ваша проблема Convert.ToInt32 - что меняет ваше значение с плавающей запятой в целое число, а числа не проводить дробные значения. Если вы удалите эти строки, это должно работать точно так, как вы хотите (форматирование строк выглядит правильно).

Смежные вопросы