Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Komma problem

Frage Entwicklung VB for Applications

Mitglied: badmaxx

badmaxx (Level 1) - Jetzt verbinden

22.12.2006, aktualisiert 28.12.2006, 3890 Aufrufe, 8 Kommentare

Hi @ all
ich versuche gerade einen (taschen)rechner zu programmiern nur bekomme ich es nich hin dass ich in die Textbox eine Kommazahl eingeben kann und dann das richtige Ergebnis bekomme. DAs komische ist wenn ich z. B. 5*5,5 kommt 15 raus wenn ich jetz aber 5*5.5 eigbebe kommt 27,5 raus. Wie schaff ich es dass ich 5,5 eingeben kann und trozdem das richtige Ergebnis bekomme? Ich benutze VB 2005 Express Edition.

Danke im Voraus

Gruß
MAxi
Mitglied: bastla
24.12.2006 um 20:18 Uhr
Hallo badmaxx!

Wenn Du den in die Textbox eingegebenen Text für eine Berechnung verwendest, solltest Du ihn eigentlich ohnehin konvertieren, zB mit CDbl() - damit wird auch das entsprechende Dezimaltrennzeichen erkannt.

Ansonsten bleibt Dir nur das gezielte Umwandeln des Kommas in einen Punkt in der Berechnung - Replace(TextBox1.Text, ",", ".") - oder die Umwandlung ohne Rücksicht auf die Optik direkt bei der Eingabe - dazu schreibst Du in "TextBox1_KeyPress"
01.
If e.KeyChar = "," Then e.KeyChar = "."
Empfehlen kann ich Dir aber nur die oben angesprochene Typkonvertierung.

Grüße
bastla
Bitte warten ..
Mitglied: badmaxx
27.12.2006 um 20:13 Uhr
Hi
danke schonmal für die hilfe.
Könntest du mir das genauer erklären wie ich des machen muss da ich noch nicht so lange mit vb arbeite.
Danke im voraus.
Gruß
Maxi
Bitte warten ..
Mitglied: bastla
27.12.2006 um 20:18 Uhr
Hallo badmaxx!

Im Prinzip musst Du nur in die Ausführung der Berechnung die Konvertierung einbauen - könnte ich Dir aber besser zeigen, wenn Du den entsprechenden Code postest ...

Grüße
bastla
Bitte warten ..
Mitglied: badmaxx
27.12.2006 um 23:09 Uhr
01.
Public Class Algebra 
02.
 
03.
    Private Sub Grundrechenarten_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
04.
        Label3.Visible = False 
05.
        Format(TextBox1.Text, "0,00") 
06.
 
07.
    End Sub 
08.
 
09.
    Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click 
10.
 
11.
 
12.
    End Sub 
13.
 
14.
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click 
15.
        End 
16.
    End Sub 
17.
 
18.
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
19.
 
20.
        If RadioButton1.Checked = True Then 
21.
            Replace(TextBox1.Text, ",", ".") 
22.
            TextBox3.Text = Val(TextBox1.Text) + Val(TextBox2.Text) 'Addition 
23.
        End If 
24.
 
25.
 
26.
        If RadioButton2.Checked = True Then TextBox3.Text = Val(TextBox1.Text) - Val(TextBox2.Text) 'Subtraktion 
27.
 
28.
        If RadioButton3.Checked = True Then TextBox3.Text = Val(TextBox1.Text) * Val(TextBox2.Text) 'Multiplikation 
29.
 
30.
        If RadioButton4.Checked = True Then TextBox3.Text = Val(TextBox1.Text) / Val(TextBox2.Text) 'Division 
31.
 
32.
        If RadioButton5.Checked = True Then 
33.
            TextBox3.Text = Val(TextBox1.Text) * Val(TextBox1.Text) 'Berechnung des Quadrats 
34.
            TextBox2.Visible = True 
35.
            TextBox2.Text = TextBox1.Text 
36.
            Label2.Text = "x" 
37.
        End If 
38.
 
39.
        If RadioButton6.Checked = True Then 'Berechnung der Wurzel 
40.
            TextBox3.Text = Math.Sqrt(TextBox1.Text) 
41.
            Label2.Visible = False 
42.
        End If 
43.
 
44.
 
45.
 
46.
    End Sub 
47.
 
48.
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 
49.
        Me.Visible = False 'Zurück 
50.
        Start.Visible = True 
51.
    End Sub 
52.
 
53.
    Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged 
54.
        If RadioButton1.Checked = True Then 
55.
            TextBox2.Visible = True 
56.
            Label3.Visible = False 
57.
            Label2.Text = "+" 
58.
        End If 
59.
 
60.
    End Sub 
61.
 
62.
    Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged 
63.
        If RadioButton2.Checked = True Then 
64.
            TextBox2.Visible = True 
65.
            Label3.Visible = False 
66.
            Label2.Text = "-" 
67.
        End If 
68.
    End Sub 
69.
 
70.
    Private Sub RadioButton3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton3.CheckedChanged 
71.
        If RadioButton3.Checked = True Then 
72.
            TextBox2.Visible = True 
73.
            Label3.Visible = False 
74.
            Label2.Text = "x" 
75.
        End If 
76.
    End Sub 
77.
 
78.
    Private Sub RadioButton4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton4.CheckedChanged 
79.
        If RadioButton4.Checked = True Then 
80.
            TextBox2.Visible = True 
81.
            Label3.Visible = False 
82.
            Label2.Text = "/" 
83.
        End If 
84.
    End Sub 
85.
 
86.
    Private Sub RadioButton6_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton6.CheckedChanged 
87.
        If RadioButton6.Checked = True Then 
88.
            TextBox2.Visible = False 
89.
            Label3.Visible = True 
90.
            Label2.Text = "" 
91.
        End If 
92.
    End Sub 
93.
 
94.
    Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged 
95.
        Format("0,000") 
96.
    End Sub 
97.
 
98.
    Private Sub RadioButton5_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton5.CheckedChanged 
99.
        If RadioButton5.Checked = True Then 
100.
            TextBox2.Visible = False 
101.
            Label3.Visible = False 
102.
            Label2.Text = "²" 
103.
        End If 
104.
    End Sub 
105.
 
106.
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged 
107.
    End Sub 
108.
 
109.
    Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged  
110.
    End Sub 
111.
End Class
ich hoff du kennst dich aus.
Bitte warten ..
Mitglied: bastla
28.12.2006 um 12:43 Uhr
Hallo badmaxx!

Du konvertierst im Prinzip ohnehin schon mit Val(), sodass Du nur stattdessen CDbl() dafür einsetzen müsstest:
01.
If RadioButton1.Checked = True Then 
02.
    TextBox3.Text = CDbl(TextBox1.Text) + CDbl(TextBox2.Text) 'Addition 
03.
End If
Wenn Du die Anzeige auf 2 Dezimalen runden willst (wie Du es in "Grundrechenarten_Load" versuchst, wo es aber nichts bringt), kannst Du den Formatcode "F" verwenden (oder benutzerdefiniert "0.00" - mit Punkt!):
01.
If RadioButton1.Checked = True Then 
02.
    TextBox3.Text = Format(CDbl(TextBox1.Text) + CDbl(TextBox2.Text), "F") 'Addition 
03.
End If
Grüße
bastla
Bitte warten ..
Mitglied: badmaxx
28.12.2006 um 15:36 Uhr
DANKE!!!!!!!!!!!!!!!!!!!!!!!!!!
Es funktieoniert so wie es soll!
DANKE!!!!!!!!!!!!!!!!!!!!!!!!!!

Gruß
Maxi

PS. Des mit "F" geht nicht aber mit "0.00" funktieonierts
Bitte warten ..
Mitglied: badmaxx
28.12.2006 um 15:36 Uhr
DANKE!!!!!!!!!!!!!!!!!!!!!!!!!!
Es funktieoniert so wie es soll!
DANKE!!!!!!!!!!!!!!!!!!!!!!!!!!

Gruß
Maxi
Bitte warten ..
Mitglied: badmaxx
28.12.2006 um 15:37 Uhr
DANKE!!!!!!!!!!!!!!!!!!!!!!
Es funktieoniert so wie es soll!!
DANKE!!!!!!!!!!!!!!!!!!!!!!

Gruß
Maxi
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Multimedia & Zubehör
BENQ Beamer Fernbedingung Frequenz Problem (2)

Frage von xbast1x zum Thema Multimedia & Zubehör ...

Windows Server
Google Chrome Web Store Problem auf Terminal Farm

Frage von dakoerry zum Thema Windows Server ...

Multimedia & Zubehör
gelöst Problem: DVI zu VGA (8)

Frage von Protected zum Thema Multimedia & Zubehör ...

Windows Server
Problem bei Zertifikatsverlängerung auf SBS2008 (2)

Frage von Firewire zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...