Avatar billede nic84 Nybegynder
04. oktober 2006 - 10:41 Der er 11 kommentarer og
1 løsning

plus/minus knap på lommeregner

Jeg er ved at lave en lommeregner i Visual Studio 2005 - C#

Det skal lige siges at jeg er nybegynder.

Jeg vil gerne tjekke om første karakter en i label er et "-". Det har jeg fundet ud af hvordan jeg gør.
Nu er mit problem at jeg får denne fejl "Operator '!=' cannot be applied to operands of type 'char' and 'string'".
Jeg har prøvet at lave det om til f.eks. "int" eller "double". Så laver den bare samme fejl bare med dem.

Her er mit ejet forslag til hvordan det skulle laves:

string name = lblResult.Text;
            char firstChar = name[0];
           
            if (firstChar != "-")
            {
                lblResult.Text = "-" + lblResult.Text;
            }
Avatar billede mikkel_sommer Nybegynder
04. oktober 2006 - 10:47 #1
Prøv med:
if(!firstChar == "-")
Avatar billede nic84 Nybegynder
04. oktober 2006 - 10:52 #2
så kommer den med den her fejl:

Operator '!' cannot be applied to operand of type 'char'
Avatar billede mikkel_sommer Nybegynder
04. oktober 2006 - 10:53 #3
men du behøver ikke lave det til char hvis du ved at det altid vil ligge på første plads, i så fald kan du bruge:

if(!lblResult.Text.StartsWith("-"))
Avatar billede nic84 Nybegynder
04. oktober 2006 - 10:57 #4
Mange tak det virker. Men hvad gør jeg så den anden vej når jeg skal fjerne "-"
Avatar billede mikkel_sommer Nybegynder
04. oktober 2006 - 10:58 #5
Hvis du vil bruge char kan du:

if(!firstChar.Equals('-'))
Avatar billede bulgroz Nybegynder
04. oktober 2006 - 10:58 #6
char firstChar = name[0];

            // Chars skal i "enkeltplinger"
            if (firstChar != '-')
            {
                lblResult.Text = "-" + lblResult.Text;
            }

            // Alternativ...
            if (lblResult.Text.StartsWith("-"))
            {
                //...
            }
Avatar billede nic84 Nybegynder
04. oktober 2006 - 10:58 #7
For at præciserer spørgsmålet. Hvordan sletter jeg den første karakter i labelen?
Avatar billede mikkel_sommer Nybegynder
04. oktober 2006 - 10:59 #8
hvis du vil fjerne "-" fra en string kan du:

lblResult.Text = lblResult.Text.Replace("-", string.Empty);
Avatar billede nic84 Nybegynder
04. oktober 2006 - 11:00 #9
Mange tak nu virker det hele så læg lige et svar, så får du nogle point
Avatar billede clausc Nybegynder
04. oktober 2006 - 11:00 #10
I linien:
    if (firstChar != "-")
sammenligner du en char med en streng. Det er forskellige typer. Så enten sammenligner du strenge med f.eks StartsWith eller så sammenligner du chars ved:
    if (firstChar != '-')

Den anden fejl i linien:
    if(!firstChar == "-")
skyldes at oversætteren læser det, som om du vil lave en negering af firstChar; men not-operatoren er ikke defineret for chars (som fejlbeskeden osse korrekt siger). Men linien forsøger stadig at sammenligne en char og en string. Der skulle istedet ha' stået:
    if(!(firstChar == '-'))
Avatar billede mikkel_sommer Nybegynder
04. oktober 2006 - 11:01 #11
hvis der er flere forekomster af "-" i din label og du kun vil fjerne den første:

lblResult.Text = lblResult.Text.Substring(1, s.Length-1);
Avatar billede mikkel_sommer Nybegynder
04. oktober 2006 - 11:01 #12
Svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester