Benutzer mit den meisten Antworten
Berechnung mit Double Datentyp

Frage
-
Liebe Forengemeinde,
meine Frage besteht daraus, eine Berechnung mit dem Double Datentyp zu rechnen.
In meinem Programm geht es um einen Berechner mit mehreren Funktionen.
Als erstes habe ich zwei Variabeln die mit einem array verknüpft sind.
Das array und dessen Inhalt ist mit comboboxen verknüpft was aber keine größere Rolle spielt.
Das Problem dabei ist allerdings, dass ich für längere Berechnungen einen größeren Datentyp benötige,
sonst wird bspw. immer mit 2.5E-12 abekürzt was ich natürlich ausschreiben möchte!!!
ich habs jtz mal so versucht:
Private Sub ERGB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ERGB.Click
Dim cb As Double Dim cb2 As Double
dim array() as double = {1, 2, 3}
'Verknüpfung von array und Comboboxen If CDbl(CB1.SelectedIndex) = "0" Then
cb = array(0)
End If
If CDbl(CB1.SelectedIndex) = "1" Then
cb = array(1)
End If
If CDbl(CB1.SelectedIndex) = "2" Then
cb = array(2)
End IfIf CDbl(CB2.SelectedIndex) = "0" Then
cb2 = array(0)
End If
If CDbl(CB2.SelectedIndex) = "1" Then
cb2 = array(1)
End If
If CDbl(CB2.SelectedIndex) = "2" Then
cb2 = array(2)
End If'Berechnung des Ganzen
ERG.text = Cstr(cb * TB.text) * cb2
End Sub
Wär echt super wenn jemand n Vorschlag oder ne Verbesserung hätte ;)
danke schnomal im Vorraus
Gruß Juliano
- Bearbeitet Juliano Julietti Sonntag, 2. Februar 2014 18:53
Antworten
-
Hallo,
zunächst: abgekürzt wird da nichts. Es wird einfach die Kurzschreibweise von dem genommen, was sich der Computer gemerkt hat.
Wie genau du deine Verknüpfung meinst, weiß ich aber nicht.Um nun die Zahlen ohne E zu bekommen, kannst du das F-Format nutzen:
Dim s As String = d.ToString("F99").TrimEnd("0"c).TrimEnd(","c)
Durch F99 werden bis zu 99 Nachkommastellen generiert und durch die TrimEnd-Aufrufe werden die 0 am Ende wieder entfernt.
Zu der Zeile:
ERG.text = Cstr(cb * TB.text) * cb2
Die maht für mich nicht wirklich Sinn. TB ist wahrscheinlich eine TextBox, da ergibt folgender Code mehr Sinn:
ERG.text = (cb * CDbl(TB.text) * cb2).ToString("F99")...
Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite |
Code Beispiele |
Facebook |
Twitter |
Snippets
C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.- Als Antwort vorgeschlagen Ionut DumaModerator Donnerstag, 6. Februar 2014 15:58
- Als Antwort markiert Tom Lambert (Koopakiller)Moderator Dienstag, 18. Februar 2014 11:30
Alle Antworten
-
Hallo,
zunächst: abgekürzt wird da nichts. Es wird einfach die Kurzschreibweise von dem genommen, was sich der Computer gemerkt hat.
Wie genau du deine Verknüpfung meinst, weiß ich aber nicht.Um nun die Zahlen ohne E zu bekommen, kannst du das F-Format nutzen:
Dim s As String = d.ToString("F99").TrimEnd("0"c).TrimEnd(","c)
Durch F99 werden bis zu 99 Nachkommastellen generiert und durch die TrimEnd-Aufrufe werden die 0 am Ende wieder entfernt.
Zu der Zeile:
ERG.text = Cstr(cb * TB.text) * cb2
Die maht für mich nicht wirklich Sinn. TB ist wahrscheinlich eine TextBox, da ergibt folgender Code mehr Sinn:
ERG.text = (cb * CDbl(TB.text) * cb2).ToString("F99")...
Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite |
Code Beispiele |
Facebook |
Twitter |
Snippets
C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.- Als Antwort vorgeschlagen Ionut DumaModerator Donnerstag, 6. Februar 2014 15:58
- Als Antwort markiert Tom Lambert (Koopakiller)Moderator Dienstag, 18. Februar 2014 11:30
-
Danke erstmal für deinen Lösungsweg ;)
denke auch dass es damit klappen könnte,
jedoch bin ich mir nicht ganz im klaren,
was für eine variable, oder was ich überhaupt für das d nach dem Gleichzeichen verwenden soll:
Dim s As String = d.ToString("F99").TrimEnd("0"c).TrimEnd(","c)
-
d ist einfach die Double-Variable. Ich weiß nicht, was du mit deiner Berechnung vor hast. Ich vermute mal, dass du
(cb * CDbl(TB.text) * cb2)
als d nutzen musst. s ist dann entsprechend der String, denn du ausgeben kannst.
Wie geschrieben, dein Code wirkt etwas undurchsichtig. Deshalb bin ich mir mit meiner Aussage auch nicht ganz sicher.
Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite |
Code Beispiele |
Facebook |
Twitter |
Snippets
C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke. -
Hallo Juliano,
Wenn Dir die Antwort von Koopakiller geholfen hat, dann bitte markiere diese als Antwort.
Danke und Gruss,
Ionut
Ionut Duma, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip„Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.