Avatar billede saxtus Nybegynder
16. august 2004 - 15:01 Der er 8 kommentarer og
1 løsning

automatisk indsætning af kommetal i en combobox

Jeg har en række komma tal som jeg skal have indsat i en combobox, men den er ikke så glad for kommatal.
De tal der skal indsættes skal beregnes, og der vil den vidst helst have punktum - hvad gør jer???


Her er lidt hvordan jeg havde forestillet mig det

Dim a1 as Integer

For i = 1 To 61
  a1 = 3,8
  ComboBox1.AddItem a1
  a1=+0,3
Next i
Avatar billede sjh Nybegynder
16. august 2004 - 21:37 #1
Først må du lige flytte a1 = 3,8 til før for i... ellers vil du få det samme resultat ;)

og så skal du nok bruge punktum og ikke komma. Integer kan kun regne med hele tal (runder selv op) prøv med Single :)


Private Sub Form_Load()
Dim i  As Integer
Dim a1 As Single
  a1 = 3.5
  For i = 1 To 61
    Combo1.AddItem CStr(a1)
    a1 = (a1 + 0.3)
  Next
End Sub
Avatar billede saxtus Nybegynder
17. august 2004 - 08:05 #2
ups ja, det med integer kommer jeg da først til at tænke på nu hvor du siger det.

Jeg SKAL bruge et komma, kan man ikke udskifte punktummet til et komma på en eller anden smart måde eller metode.

Skal jeg ikke bruge double i stedet for integer??
Avatar billede martin_moth Mester
17. august 2004 - 09:33 #3
Integer er faktisk det engelske ord for HELtal ;o)

Hvorfor i alverden SKAL du bruge komma? Men du kan indlæse det du vil indlæse i din combobox som strings - altså "3,5".

Skal du bruge 'tallene' (som jo ikke er tal, men tekststrenge) fra din combo til at regne med i et regneudtryk, kan du bruge replace for at skifte , til . og derefter konvertere stringen til en single.

Jeg tror du skal læse lidt på hvad Double, Single, byte, string, Integer osv. er for noget. En double er også til decimaltal, ligesom single, bare med større præcision/større tal (plads til flere cifre)
Avatar billede carstensuurland Nybegynder
18. august 2004 - 11:19 #4
a1 = 3.8
For i = 1 To 61
  Combo1.AddItem Replace(CStr(a1), ".", ",")
  a1 = a1 + 0.3
Next
Avatar billede martin_moth Mester
18. august 2004 - 11:31 #5
netop
Avatar billede saxtus Nybegynder
17. september 2004 - 08:28 #6
sådan det virker bare perfekt.

bare lige for at få det til at se vildt godt ud, hvordan får man den så til at sætte et nul på så den fast køre med 1 decimal.

altså så der står:
4,7
5,0

i stedet for
4,7
5
Avatar billede martin_moth Mester
17. september 2004 - 08:48 #7
format funktionen
Avatar billede martin_moth Mester
17. september 2004 - 08:49 #8
Avatar billede saxtus Nybegynder
17. september 2004 - 10:38 #9
så nu virker det - man kan bare ikke blande Replace(CStr(a1), ".", ",") sammen med
Format(a1, "#0.0"), men "Format(a1, "#0.0")" klare også det med kommaet - så det er bare perfekt
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