webForumDet fria alternativet

Enkelt problem - 0.01

2 svar · 606 visningar · startad av enrosabanan

enrosabananMedlem sedan maj 200736 inlägg
#1

Nu kommer jag med ett enkelt problem som jag inte kan lösa. Hur gör jag för att programmet ska kunna använda 0.01 som tal2? Nu blir summan 0 hur jag än gör.

Här kommer koden om det skulle hjälpa er att förstå vad jag menar

private void btnBerakna_Click(object sender, EventArgs e)
{
int summa, betala, moms, tal1;
betala = Convert.ToInt32(txtBoxBetala.Text);
double tal2=(0.01);
tal1 = moms * Convert.ToInt32(tal2);
summa = tal1 * betala;
lblMoms.Text = Convert.ToString (summa);

        int summa2, betala2, mottaget; 
        betala2 = Convert.ToInt32(txtBoxBetala.Text); 
        mottaget = Convert.ToInt32(txtBoxMottaget.Text); 
        summa2 = mottaget - betala2; 
        lblVaxel.Text = Convert.ToString(summa2);
    }
Peter SMedlem sedan dec. 20025 483 inlägg
#2

För det första är tal1 deklararad som en int. Det betyder att tal1 är ett heltal. Tilldelning av flyttal till tal1 kommer alltså att få oönskad effekt. För det andra använder du Convert.ToInt32() på tal2, vilket betyder att du konverterar flyttalet tal2 till ett heltal och därmed tappar decimaler.

enrosabananMedlem sedan maj 200736 inlägg
#3

Tack för hjälpen, det fick mig att upptäcka felen. Nu fungerar det.

128 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)