Forum
Tipps
News
Menu-Icon

VB: kommazahlen runden

Hi,
ich programmier grad mit Visual Basic einen Widerstandsberechner.
Klappt auch schon alles mit dem Rechnen, aber das Runden nicht ganz.

Also die Zahl die beim Rechnen rauskommt hat die bezeichnung "b".
Wenn da eine Zahl unter 1000 rauskommt, dann soll die so in das Textfeld mit der bezeichnung "widerstand" reingeschreben werden. Das funktioniert auch schon.
Jetzt sollen noch die Zahlen, die über 1000 sind in KOhm also geteilt durch 1000 gerechnet werden. Allerdings sollte er da auf 1 nachkommastelle runden (nur auf- nicht abrunden) und ich hätte gern ein k hinter der Zahl. Wie mach ich das am besten?

        Dim a As Single
        If Strom.SelectedIndex = 0 Then a = 0.015
        If Strom.SelectedIndex = 1 Then a = 0.02
        If Strom.SelectedIndex = 2 Then a = 0.025
        If Strom.SelectedIndex = 3 Then a = 0.03
        If Strom.SelectedIndex = 4 Then a = 0.035
        If Strom.SelectedIndex = 5 Then a = 0.05
        If Strom.SelectedIndex = 6 Then a = 0.06
        If Strom.SelectedIndex = 7 Then a = 0.08
        If Strom.SelectedIndex = 8 Then a = 0.09
        If Strom.SelectedIndex = 9 Then a = 0.1
        If Strom.SelectedIndex = 10 Then a = 0.12
        If Strom.SelectedIndex = 11 Then a = 0.35
        If Strom.SelectedIndex = 12 Then a = 0.7
        Dim b As Single
        Dim c As Single
        b = VSpannung.Text / a
        If b >= 1000 Then c = b / 1000
        If b < 1000 Then c = b
        Widerstand.Text = c
 
« Letzte Änderung: 11.07.07, 19:00:56 von Toni_15 »

Antworten zu VB: kommazahlen runden:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Probiers mal so,

Kiloohm mit 1 NKStelle aufgerundet = int((ohmwert/100)+1)/10

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

super danke, funktioniert. Mit +0 ist es richtig.
Aber wie bekomm ich denn jetzt noch ein k hinter den errechneten Wert? 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
+0 ? Dann kannst du das ja auch weglassen.

machst du noch ein str$ ( )+" k" außen herum

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ja +0 kann ich weglassen.

        Dim b As Single
        Dim c As Single
        b = VSpannung.Text / a
        If b >= 1000 Then c = Str$(Int(b / 100) / 10) + " k"
        If b < 1000 Then c = b
        Widerstand.Text = c

da kommt ein fehler: "Ungültige Konvertierung von der Zeichenfolge  2.4 k in Typ Single." Was soll ich denn nehmen, wenn single nicht geht? 
« Letzte Änderung: 11.07.07, 20:19:30 von Toni_15 »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Eine Stringvariable musst du nehmen Dim Wert as string

Oder du lässt das und machst es nur bei der Ausgabe.

print c;" k"

z.B.
 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Funktioniert genau so wie ichs wollte.
Vielen dank für deine schnelle hilfe ;)


« target = _blanknetsh ausgabe als variable in batch »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Visual Basic
Visual Basic ist eine proprietäre Programmiersprache von Microsoft, oft als "VB" abgekürzt. Die älteren Versionen bis VB 6.0 werden heute als Vis...

BASIC
BASIC steht für "Beginners All Purpose Symbolic Instruction Code", eine der ersten weit verbreiteten Programmiersprachen. Die einfache Anfänger-Sprache hat dazu...

Quellcode
Ein Quellcode, auch als Quelltext bekannt, bezeichnet den unkompilierten Programm-Code einer Software. Quell- oder Programm-Code ist der auch für Menschen lesbare Co...