C#-ban (Microsoft Visual Studio 2012), hogyan tudom kiírni pontosan a művelet eredményét, ha az nem egész szám?
Szóval, tegyük fel, hogy ez a programom:
private void button1_Click(object sender, EventArgs e)
{
int a = Convert.ToInt32(textBox1.Text);
int b = Convert.ToInt32(textBox2.Text);
int c =Convert.ToInt32(a / b);
textBox1.Text = Convert.ToString(c);
textBox2.Text = "";
Tehát a felhasználó beír két számot(egyet a textBox1-be, egyet a textBox2-be), majd rákattint a button1-re, amivel elindítja a fenti folyamatot.
Először átkonvertálom a két textbox szövegét, amiket eltárolok egy "a" és egy "b" változóban. Majd elosztom a két számot és az eredményt elmentem egy "c" változóban.
Az eredményt kiírom a textbox1-be, a textbox2-ből pedig kitörlöm a számot.
Az a baj a programmal, hogy ha nem egész szám az eredmény, akkor is egész számot ad ki eredményként.
Például:
15/10 = 1 (holott mindenki tudja, hogy 1,5)
Hogyan tudnám megoldani azt, hogy egy(esetleg 2) tizedesjegy pontossággal adja meg az eredményt?
Előre is köszönök szépen minden választ! :)
Zöld pacsizok! :D
Iskolában tanítják, no!
Esetleg el tudnád magyarázni, hogy hogyan kellene kinéznie a programnak?
int = Int32 = egész szám (olyan, mint az 1 meg a 2 vagy a 3)
Convert.ToInt32( egész számmá alakít egy számot, szöveget, akármit )
Szóval ehelyett kéne neked mondjuk double (vagy float, ami kevésbé pontos, vagy inkább decimal, ami pontosabb) nevű adattípust használni, amiben már kifejezhetőek nem egész számok is.
Valahogy így (nem muszáj pont így):
double a = Convert.ToDouble(textBox1.Text);
double b = Convert.ToDouble(textBox2.Text);
double c = a / b;
Mivel a és b is szám típusú, itt a 3. sorban nem kell konvertálni, simán elvégezhető az osztás.
Ha két tizedesjegyig akarod csak kiírni, akkor vagy először kerekíted a számodat, vagy a szöveggé alakító függvénynek adod meg a két tizedesjegyes formátumot:
textBox1.Text = c.ToString("0.00");
textBox2.Text = "";
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!