Gå til innhold

Anbefalte innlegg

eg har en avansert xcel formel som skal portes over til en c# app

 

=G4+(G4*(0,25-(0,05*C17)))+(G4*F22)

 

og eg har provdt forskejlige varianter men får bare feilmeldinger som går på "* cannot be applied to operands"

 

får denne meldingen på denne koden

Error 1 Operator '*' cannot be applied to operands of type 'int' and 'System.Windows.Forms.TextBox'

{
			object a = 0.25;
			object b = 0.05;
			int sum = textBox1 + (textBox1 * (label3 - ((int)a * textBox2)) + (textBox1 * label2));
			label1.Text = sum.ToString();
}

 

og denne meldingen på denne

Error 1 Operator '*' cannot be applied to operands of type 'decimal' and 'double'

 

decimal sum = decimal.Parse(textBox1.Text.Trim()) + ((decimal.Parse(textBox1.Text.Trim()) * 0.25 - ("0.5" + (int.Parse((textBox2.Text.Trim())))));

Lenke til kommentar
Videoannonse
Annonse

Feilen er akkurat det som står i feilmeldingen.

Decimal har ingen operator * definert for decimal og double, bare for double * double eller decimal * decimal.

For å lage en decimal fra double eller float, bruk new decimal(min_double)

For eksempel

decimal.Parse(textBox1.Text.Trim()) * new decimal(0.25)

Lenke til kommentar
Feilen er akkurat det som står i feilmeldingen.

Decimal har ingen operator * definert for decimal og double, bare for double * double eller decimal * decimal.

For å lage en decimal fra double eller float, bruk new decimal(min_double)

For eksempel

decimal.Parse(textBox1.Text.Trim()) * new decimal(0.25)

 

kjempe bra, det fungerer, men hvordan overfører eg dette til en lable og textbox?

 

decimal sum = decimal.Parse(textBox1.Text.Trim()) + ((decimal.Parse(textBox1.Text.Trim()) * new decimal(0.24) - new decimal(0.5) + (int.Parse((textBox2.Text.Trim()))))) + (label2 * int.Parse(textBox1.Text.Trim()));

 

nå får eg feil på (label2 * int.Parse(textBox1.Text.Trim()));

Error 1 Operator '*' cannot be applied to operands of type 'System.Windows.Forms.Label' and 'int'

Endret av sommy
Lenke til kommentar

Feilmeldingen forklarer hva du gjør feil ganske godt synes jeg da.

Når du skrive label2, så er det av datatypen Label, denne kan selvsagt ikke multipliseres med et integer. Det du skriver er ikke det samme som det du mener.

Du er interessert i Label sin Text egenskap, og den må du parse til et integer.

Bytt ut der du har skrevet label2 i koden med int.Parse(label2.Text)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...