Avatar billede swamboo Seniormester
27. februar 2007 - 23:49 Der er 15 kommentarer og
1 løsning

string med decimaltal til int

Hvordan gør man det?

Jeg forsøger med linierne:

            {
                input = Convert.ToInt32(Input_Box.Text);            }
            catch
            {
                MessageBox.Show("Endnu kun tal!");
                return;
            }

Men er input_box.text = 11,4 - eller 11.4 så får jeg messageBox'en vist... Hvad gør jeg forkert?
Avatar billede kalp Novice
27. februar 2007 - 23:51 #1
input = Convert.ToDouble(Input_Box.Text);
Avatar billede kalp Novice
27. februar 2007 - 23:52 #2
input = Convert.ToDecimal(Input_Box.Text);

er også en mulighed
Avatar billede arne_v Ekspert
27. februar 2007 - 23:55 #3
input = (int)decimal.Parse(Input_Box.Text);

måske
Avatar billede swamboo Seniormester
28. februar 2007 - 00:01 #4
Er der en mulighed for at styrre at der kun er 2 decimaler?
Avatar billede kalp Novice
28. februar 2007 - 00:02 #5
input = (int)Convert.ToDecimal(Input_Box.Text);
Avatar billede kalp Novice
28. februar 2007 - 00:10 #6
hvis det ikke var det andet du tænkte på så måske denne.

input = Convert.ToInt32(Convert.ToDecimal(Input_Box.Text).ToString("dd"));
Avatar billede kalp Novice
28. februar 2007 - 00:15 #7
sorry! sådan her:P

input = Convert.ToInt32(Convert.ToDecimal(Input_Box.Text).ToString("##"));

Så er det altid kun 2 tal
Avatar billede swamboo Seniormester
28. februar 2007 - 00:15 #8
Næ nej - jeg skal ruge beløb i kr. men jeg skal ikke bruge 12,33324 kr, hellere 12,33.

Kan det lade sig gøre??
Avatar billede kalp Novice
28. februar 2007 - 00:18 #9
hvis du laver din variabel "input" til en decimal..

så kan du bruge denne kode

input = Convert.ToDecimal(Input_Box.Text).ToString("##.##");
Avatar billede kalp Novice
28. februar 2007 - 00:19 #10
input = Convert.ToDecimal(Convert.ToDecimal(Input_Box.Text).ToString("##.##"));

sorry igen.. den der..
og input skal som sagt være decimal..
Avatar billede arne_v Ekspert
28. februar 2007 - 02:10 #11
alternativ:

input = decimal.Round(decimal.Parse(Input_Box.Text) + 0.00m, 2));

de 0.00m har kun kosmetisk betydning ogkan formentligt undværes i praksis
Avatar billede swamboo Seniormester
28. februar 2007 - 22:38 #12
Arne: Hvad er den Parse for en størrelse??
Avatar billede swamboo Seniormester
28. februar 2007 - 22:48 #13
Gawi - har forsøgt dit sidste bud, og det virkede. (Send et svar)
Avatar billede swamboo Seniormester
28. februar 2007 - 22:51 #14
Arne - dit sidste bud har en ) for meget til sidst, men virker også... (send et svar)

1000 tak for hjælpen begge 2.
Avatar billede swamboo Seniormester
28. februar 2007 - 22:53 #15
HOV! Har lige opdaget at jeg har accepteret 1. svar fra Gawi...
Arne - skal du også have point??  =)
Avatar billede arne_v Ekspert
01. marts 2007 - 02:31 #16
Jeg mener allerede at du havde accepteret svaret, da jeg lagde min kommentar.

Jeg ville bare pointere at der var alternativer til string->decimal->string->decimal !
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