[VB] Decimaal punten in getal

Pagina: 1
Acties:

  • NielsNL
  • Registratie: Januari 2002
  • Laatst online: 01-09 11:47
Hallo medetweakerts...

Ik heb een scripie in elkaar geflanst dat in een getal punten zet... vb. 12345678 -> 12.345.678
Zodat een bestands groote er een stuk leesbaarder uitziet.
Hier komtie dan:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Private Sub Command1_Click()

Grootte = text1.text 'Stukje Xtra

MB = (grootte Mod 1000000000 - grootte Mod 1000000) / 1000000 & "."
If MB = "0." Then MB = ""

KB3 = (grootte Mod 1000000 - grootte Mod 100000) / 100000
If KB3 = 0 And MB = "" Then KB3 = ""
KB2 = (grootte Mod 100000 - grootte Mod 10000) / 10000
If KB2 = 0 And KB3 = "" Then KB2 = ""
KB1 = (grootte Mod 10000 - grootte Mod 1000) / 1000 & "."
If KB1 = "0." And KB2 = "" Then KB1 = ""

B3 = (grootte Mod 1000 - grootte Mod 100) / 100
If K3 = 0 And KB1 = "" Then B3 = ""
B2 = (grootte Mod 100 - grootte Mod 10) / 10
If B2 = 0 And B3 = "" Then B2 = ""
B1 = grootte Mod 10

Bestandsgrootte = MB & KB3 & KB2 & KB1 & B3 & B2 & B1

Label1.caption = Bestandsgrootte 'Stukje Xtra

End Sub

Stop maar in een formpje met 1 Command, 1 label & 1 textbox...

Nu mijn vraag: Is hier een makelijkere manier voor?
Bijv. Format(bladiebla, "##")?
En heb ik dit dus voor nix gedaan? :+

M'n Oma is een site aan het haken.


  • Lister
  • Registratie: September 2001
  • Laatst online: 15-02-2022
Probeer dit maar eens in je debugwindow:
code:
1
? format("1000000","#,###")

Alleen is in dit geval het duizendtal teken wel afhankelijk van je regional settings en dat kan nog wel eens lastig zijn.
format("1000000","#,###") levert namelijk 1.000.000 op als je duizendtalteken een "." is in je regional settings.

  • NielsNL
  • Registratie: Januari 2002
  • Laatst online: 01-09 11:47
Huh?
Als ik dit doe:
code:
1
2
3
Private Sub Command1_Click()
Text1.Text = Format(text1.text, "#,###")
End Sub

Laat ie gewoon de eerste 3 getallen staan...
Dus 1234567 -> 123
Vaag hè?

M'n Oma is een site aan het haken.


  • ATS
  • Registratie: September 2001
  • Laatst online: 12-02 13:46

ATS

Op vrijdag 07 juni 2002 00:59 schreef Lister het volgende:
Probeer dit maar eens in je debugwindow:
code:
1
? format("1000000","#,###")

Alleen is in dit geval het duizendtal teken wel afhankelijk van je regional settings en dat kan nog wel eens lastig zijn.
format("1000000","#,###") levert namelijk 1.000.000 op als je duizendtalteken een "." is in je regional settings.
Dat is dan ook precies wat je wil! Het zou erg onhandig zijn als je in je code rekening moet gaan houden met de regional settings van je gebruiker! Daarom staat een , in de format string altijd voor de ingestelde 1000-separator, en een . voor de decimal-separator.
Les 1 van gebruikersvriendelijk proggen: zorg dat je instellingen van je gebruiker eerbiedigt en geen onzinnige beperkingen gaat opleggen. Het hardcoden van je nummerformat is zo'n beperking.

My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant