Hur får man reda på om användaren skall använda komma eller punkt som decimal vid inmatningar ? Det finns säkert ett "korrekt" svar, men jag har gjort denna funktionen som kontrollerar om det är ett giltigt tal. Med de testerna jag har gjort verkar det fungera med på , och . som decimaltecken. Hej Förlåt att jag stör. ;O)<br> Nja inte riktigt så.komma eller punkt?
Tex 2,35 eller 2.35
Båda är ju rätt beroende på vilket land man är i men hur kan jag i programmet få reda på vilket som är att förvänta som rätt ?
Någon landskod eller dyligt med detta i Windows inställningar ?
Ett svenskt tangentbord har ju komma i den numeriska delen medans det finns punkt på tangentbord i länder som använder sådant.
/RolandSv: komma eller punkt?
<code>
Function IsTal(inTal As Variant) As Boolean
IsTal = False
If IsNumeric(inTal) Then
If CStr(CDbl(inTal)) = CStr(inTal) Then
IsTal = True
End If
End If
End Function
</code>
/JohanSv: komma eller punkt?
Fritt ur minnet kom jag ihåg denna lösning,det finns nog andra.
Option Explicit
Private Sub Command1_Click()
Dim sep As String
sep = Format$(1.5, "0.0")
If InStr(sep, ".") Then
MsgBox "Punkt"
Else
MsgBox "Komma"
End If
End Sub
mvh
SvenSv: komma eller punkt?
Man kan oxå enbart plockar decimalseparatorn:
<code>
Option Explicit
Private Sub Command1_Click()
Dim sep As String
sep = Format$(0, ".")
MsgBox "Decimalseparator: " & sep
End Sub
</code>Sv: komma eller punkt?
Jag kan mycket väl hantera vad som kommer in från användaren och då omvandla osv men nu vill jag vara steget för mm och veta vilket tecken som används som decimalseparator i det land som appl. körs i.
Dessutom behöver jag det vid formatering av texter vid utskrifter och presentationer mm.
Alltså, hur får jag reda på vilket tecken windows-installationen anser vara decimal separator för min application.
Liknande som excel säkert använder då man i en svensk installerad dator kan använda kommatecken i numeriska fält medans man i en tex amerikansk installerad burk skall använda decimal-punkt.
/Roland (lite att lura på)