Avatar billede steffen8260 Nybegynder
30. april 2006 - 22:46 Der er 5 kommentarer og
1 løsning

Sletning af sidste 3 cifre

Hej alle,
her er lige en lille nem en, jeg har en integer variable med et stort tal i (82231) jeg vil gerne have den til at kunne fjerne de sidste 3 cifre eller bedst kunne skrive 82,2 istedet

hvordan kan det klares?
Avatar billede thesurfer Nybegynder
30. april 2006 - 22:57 #1
Eksempel:

        Dim a
        Dim ud
        a = 82231
        ud = a.ToString.Substring(0, 2) + "," + a.ToString().Substring(2, 1)
        MsgBox(ud)

/theSurfer
Avatar billede thesurfer Nybegynder
30. april 2006 - 22:57 #2
Svar.

/theSurfer
Avatar billede thesurfer Nybegynder
30. april 2006 - 22:59 #3
Nok bedre at definere typen af variablerne også:

        Dim a As Integer
        Dim ud As String
        a = 82231
        ud = a.ToString().Substring(0, 2) + "," + a.ToString().Substring(2, 1)
        MsgBox(ud)

Hmm.. den accepter også "ToString" i stedet for "ToString()"..

/theSurfer
Avatar billede steffen8260 Nybegynder
30. april 2006 - 23:16 #4
cool mange tak for det hurtige svar :D
Avatar billede thesurfer Nybegynder
30. april 2006 - 23:20 #5
Det var så lidt.. takker for points, og god aften :-)

/theSurfer
Avatar billede bernhof Nybegynder
30. april 2006 - 23:24 #6
Jeg ville nok anse følgende metode for værende mere korrekt, men det er et spørgsmål om smag. Nedenstående kode giver dig tallet 82,2 ligesom thesurfers kode, men i en Double variabel - dvs. stadig som et egentligt tal og ikke som tekst (der er en forskel :) Desuden fjerner koden de 2 sidste cifre i tallet og gør det 3. sidste til første decimal, hvorimod theSurfers kode benytter de tre første cifre. I dette tilfælde vil begge fremgangsmetoder give samme resultat, men ikke så snart der er tale om et tal med flere eller færre cifre.

Eksempelvis med tallet 123456 vil thesurfers kode give 12,3 hvor nedenstående vil give 123,4. Så det er også et spørgsmål om, hvilket resultat du gerne vil have.

  Dim tal1 As Int32 = 82231
  Dim tal2 As Double = ((tal1 \ 100) / 10)
  MessageBox.Show(tal2)

Først laves heltalsdivision med 100, så de to sidste cifre bliver fjernet og derefter normal division med 10 for at få det ønskede resultat.
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
Kurser inden for grundlæggende programmering

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