16. februar 2001 - 14:33Der er
8 kommentarer og 1 løsning
Komma istedet for punktum
Hejsa,
jeg har et lille problem, det program jeg har fået lavet, sætter punktum i tallene istedet for komma, hvordan løser jeg det!
Private Sub Command1_Click()
Dim data(16), linie As String Dim a As Integer Dim Filnavn1 As String Dim Filnavn As String On Error GoTo err: Filnavn = Text1.Text Filnavn1 = \"c:\\dokumenter\\mm.txt\" Open Filnavn For Input As #1 Open Filnavn1 For Output As #2 Do Until EOF(1) For a = 0 To 15 If EOF(1) Then Exit For \' <- indsæt Line Input #1, data(a) If data(a) = \"GROUP 00008000\" Then a = \"1\" \' End If If data(a) = \"END GROUP\" Then a = \"0\"
Next
linie = (data(1)) \'første data - i eksemplet: 1
For a = 2 To 14 \'komma og følgende data
linie = linie & \";\" & (data(a)) \'Med valør (val) undgår du \" \" om tallene.
Next Print #2, linie \'strengen linie skrives til ud-filen linie = \"\" \'strengen linie tømmes for indhold Loop Close #1 Close #2
err: If err.Number = 53 Then MsgBox \"Error:\" & vbCrLf & \"Du skal indtaste den rigtige sti eller det rigtige fil navn\", vbExclamation End If If err.Number = 0 Then MsgBox \"OK:\" & vbCrLf & \"Konverteringen gik fint\" Else MsgBox \"Error:\" & vbCrLf & err.Description & vbCrLf & err.Number, vbExclamation End If
Lige præcis det du siger der kan jeg ikke finde. Men er det inde under internationale indstillinger jeg skal kigge? Og hvad er det der skal være sat op således? Data\'ene vi snakker om er: fx. 8.68 & 4.30 & 12.80
Ja, nu er jeg ikke vil VB-professionel, men jeg har selv være ude for at konverteringer gik galt på grund af, at maskinen var sat forkert op. Men ja, det er under internationale indstillinger... Det er mit bedste bud :|
Hvis du bruger FormatNumber() til at lave digit grouping osv. så kommer det, som wisen indirekte siger, til at være i det format som den maskine programmet afvikles på, er sat op til.
Hvis du i dit output vil have det med komma så er her et lille eksempel (det skulle gerne virke):
Dim tal As Double, outp, I tal = 4 + 3.5 outp = tal For I = 1 To Len(outp) If Mid(outp, I, 1) = \".\" Then outp = Left(outp, I - 1) & \",\" & Right(outp, Len(outp) - I - 1) End If Next MsgBox outp
ok.. det var i VB 6.0.. det er fordi at jeg bruger 5.0 !
Synes godt om
Ny brugerNybegynder
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.