In der Textbox nur Zahlen und Punkt anzeigen lassen

  • VB.NET

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von mxrxtzzzz.

    In der Textbox nur Zahlen und Punkt anzeigen lassen

    VB.NET-Quellcode

    1. TextBox1.Text = Math.PI.ToString("G", Globalization.CultureInfo.InvariantCulture)


    Das passiert wenn ich auf ein Button Drücke. Das passt auch.

    VB.NET-Quellcode

    1. If (calc = "+") Then
    2. TextBox1.Text = Val(zahl) + Val(TextBox1.Text)
    3. End If


    z.B. zahl= Math.Pi und Textbox1.text = Math.E
    Aber wenn ich das mach dann steht in der textbox1 ein komma und kann daher nicht runden. :cursing:
    Deswegen will ich das nur Zahlen und Punkt in der texbox1 funkionieren und wenn eine Zahl mit komma berechnet wird,dass automatisch das komma zu einem Punkt wird.


    Danke

    Moin,

    dann heute auf die Harte Tour, bitte mache Option Strict On
    siehe dazu: Visual Studio - Empfohlene Einstellungen

    Bevor du das nicht getan hast werde ich dieses mal nicht helfen. Ich habe dir das nun schon 3 mal geschrieben.
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen

    xChRoNiKx schrieb:

    Du addierst hier 2 strings.
    kuck mal in meine Signatur und schau die die empfohlenen Einstellungen an und setze diese um.

    das heißt du rechnest erst aus in eine variable und gibst am Ende diese variable. tostring der textbox.

    Wer lesen kann, ist klar im Vorteil !

    edit: Aber echt mal ! Mal wieder Null Eigeninitiative und absolut beratungsresistent ! :thumbdown:
    @FormFollowsFunction das kommt noch dazu.
    Es kam ja auch keine Rückmeldung mehr, und ich laufe da auch nicht hinter her. Nur hoffe ich das es dieses mal
    klappt wenn wir erst mal darauf warten das er Option Strict On setzt wenigstens um dann nach und nach alles zu
    ändern.

    Aber mal abwarten.
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    ich bin ein anfänger und weis nicht was opions strict off bedeutet aber ich habe das jetzt gemacht

    VB.NET-Quellcode

    1. If (calc = "+") Then
    2. variable = Val(zahl) + Val(TextBox1.Text)
    3. TextBox1.Text = variable.ToString
    4. End If

    doch jetzt kommt die zahl 6 raus

    Vollzitat entfernt. Editiert. ~fufu

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „fufu“ ()

    Heyho,

    jo 6 kommt raus wenn variable ein Integer ist und du Option Strict Off hast.
    Denn sonst würde da 5,8xxxx rauskommen.

    Du arbeitest hier mit Double also muss am Ende auch ein Double rauskommen. Wenn aber "variable" ein Integer ist und du Option Strict Off hast
    konvertiert dir der Compiler das zu nem Integer. Was heißt er rundet auf.

    Deshalb muss UNBEDINGT Option Strict On und variable muss ein Double sein nicht Integer.
    In dem verlinkten Thema steht genau drin was Option Strict Off/On bedeutet du musst nur lesen.

    Hier mal was wegen Integer/Double usw zum lesen: docs.microsoft.com/de-de/dotne…-types/numeric-data-types
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „xChRoNiKx“ ()

    xChRoNiKx schrieb:



    variable muss Double sein nicht Integer. Aber du solltest bitte Option Strict On machen. In dem verlinkten Thema steht genau drin was es macht.

    Hier mal was wegen Integer/Double usw zum lesen: docs.microsoft.com/de-de/dotne…-types/numeric-data-types


    doch jetzt ist Val(Textbox1.text) und Val(zahl) rot angestrichen und auch das Math.PI.ToString("G", Globalization.CultureInfo.InvariantCulture)
    Jup, und jetzt liest du dir durch was die Fehlermeldung besagt.

    Da sollte sowas wie: "Option Strict On lässt keine impliziten Konvertierungen von Double in Integer zu.
    Das ist weil du hier mit falschen Datentypen hantierst.

    Speichere dir die Werte in eine Variable die deinem Datentyp entsprechen.
    Hover mal über Math.E / Math.Pi da kommt dann sowas:


    Daran sieht man nu das du dort einen Double zurück bekommst. Das heißt du brauchst definitiv als Ergebnis Variable einen Double. Du verstehst?
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen

    mxrxtzzzz schrieb:

    doch jetzt ist Val(Textbox1.text) und Val(zahl) rot angestrichen

    Und in dem verlinkten Thread wo alles mit Option Strict On erklärt wird, wird auch erklärt warum es nun rot unterwellt ist nd wie man dies behebt.

    Wir meinen es echt nicht böse und Helfen dir echt nur beim Einstieg wenn wir dir dies nahelegen. Glaub mir. Gerade wenn man anfängt ist es umso wichtiger Option Strict On zu Proggen. Glaub uns das bitte.

    PS: Bitte gehe den verlinkten Thread wirklich durch und lese ALLES. Versuche es zu verstehen und gehe (erst danach) deinen Code durch.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    mxrxtzzzz schrieb:

    Val(zahl)
    Was ganz genau macht Val?
    Lass solch mistigen alten sch... VB6-Ranz weg und konvertiere zu genau dem Typ, den Du brauchst.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @mxrxtzzzz ich will dir nicht zu nahe treten aber....

    Du bist 13 Jahre alt. Versuche bitte bevor(!!) du eine Antwort schreibst die Tipps welche du hier bekommst mal auszuprobieren. Wenn etwas nicht klappt fragst du nach, es wird dir sicher geholfen.
    Weiters ist es unhöflich Antworten völlig zu ignorieren.

    Noch ein tipp von mir: Mit deinen eher sehr wortkargen und überaus kurzen Antworten macht man sich in einem Forum keine Freunde.
    Antworte korrekt, gehe auf Antworten ein und Beschreibe so gut wie möglich wo es hakt und wo du probleme hast. Mit ein paar Wortfetzen fängt nieman etwas an.

    Wie gesagt, nicht böse gemeint - ich möchte nicht das du übermorgen bei den "Helfern" auf der Blacklist stehst.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Sorry dass ich mein code schicke
    alles was blau ist rot unterstrichen


    Spoiler anzeigen

    VB.NET-Quellcode

    1. Option Strict On
    2. Public Class Form1
    3. Dim variable As Double
    4. Public Property Zahl As String
    5. Public Property Calc As String
    6. Private Sub b1_Click(sender As Object, e As EventArgs) Handles b1.Click
    7. TextBox1.Text += "1"
    8. End Sub
    9. Private Sub b8_Click(sender As Object, e As EventArgs) Handles b8.Click
    10. TextBox1.Text += "8"
    11. End Sub
    12. Private Sub b2_Click(sender As Object, e As EventArgs) Handles b2.Click
    13. TextBox1.Text += "2"
    14. End Sub
    15. Private Sub b3_Click(sender As Object, e As EventArgs) Handles b3.Click
    16. TextBox1.Text += "3"
    17. End Sub
    18. Private Sub b4_Click(sender As Object, e As EventArgs) Handles b4.Click
    19. TextBox1.Text += "4"
    20. End Sub
    21. Private Sub b5_Click(sender As Object, e As EventArgs) Handles b5.Click
    22. TextBox1.Text += "5"
    23. End Sub
    24. Private Sub b6_Click(sender As Object, e As EventArgs) Handles b6.Click
    25. TextBox1.Text += "6"
    26. End Sub
    27. Private Sub b7_Click(sender As Object, e As EventArgs)
    28. TextBox1.Text += "7"
    29. End Sub
    30. Private Sub b0_Click(sender As Object, e As EventArgs) Handles b0.Click
    31. TextBox1.Text += "0"
    32. End Sub
    33. Private Sub b9_Click(sender As Object, e As EventArgs) Handles b9.Click
    34. TextBox1.Text += "9"
    35. End Sub
    36. Private Sub bdel_Click(sender As Object, e As EventArgs) Handles bdel.Click
    37. If (TextBox1.Text.Length > 0) Then
    38. TextBox1.Text = TextBox1.Text.Substring(0, TextBox1.Text.Length - 1)
    39. End If
    40. End Sub
    41. Private Sub bAC_Click(sender As Object, e As EventArgs) Handles bAC.Click
    42. Calc = ""
    43. Zahl = ""
    44. TextBox1.Text = ""
    45. LB1.Text = ""
    46. LB2.Text = ""
    47. End Sub
    48. Private Sub benter_Click(sender As Object, e As EventArgs) Handles benter.Click
    49. If (Calc = "[color=#0000CD]+[/color]") Then
    50. variable =[color=#0000CD] Val(Zahl) + Val(TextBox1.Text)[/color]
    51. TextBox1.Text = variable.ToString
    52. End If
    53. If (Calc = "[color=#0000CD]-[/color]") Then
    54. TextBox1.Text = [color=#0000CD]Val(Zahl) - Val(TextBox1.Text)[/color]
    55. End If
    56. If (Calc = "[color=#0000CD]*[/color]") Then
    57. TextBox1.Text =[color=#0000CD] Val(Zahl) * Val(TextBox1.Text)[/color]
    58. End If
    59. If (Calc = "[color=#0000CD]/[/color]") Then
    60. TextBox1.Text = [color=#0000CD]Val(Zahl) / Val(TextBox1.Text)[/color]
    61. End If
    62. LB1.Text = ""
    63. LB2.Text = ""
    64. End Sub
    65. Private Sub bmal_Click(sender As Object, e As EventArgs) Handles bmal.Click
    66. Zahl = TextBox1.Text
    67. LB2.Text = Zahl
    68. TextBox1.Text = ""
    69. Calc = "*"
    70. LB1.Text = Calc
    71. End Sub
    72. Private Sub bdiv_Click(sender As Object, e As EventArgs) Handles bdiv.Click
    73. Zahl = TextBox1.Text
    74. LB2.Text = Zahl
    75. TextBox1.Text = ""
    76. Calc = "/"
    77. LB1.Text = Calc
    78. End Sub
    79. Private Sub bplus_Click(sender As Object, e As EventArgs) Handles bplus.Click
    80. Zahl = TextBox1.Text
    81. LB2.Text = Zahl
    82. TextBox1.Text = ""
    83. Calc = "+"
    84. LB1.Text = Calc
    85. End Sub
    86. Private Sub bmin_Click(sender As Object, e As EventArgs) Handles bmin.Click
    87. Zahl = TextBox1.Text
    88. LB2.Text = Zahl
    89. TextBox1.Text = ""
    90. Calc = "-"
    91. LB1.Text = Calc
    92. End Sub
    93. Private Sub bk_Click(sender As Object, e As EventArgs) Handles bk.Click
    94. TextBox1.Text += "."
    95. End Sub
    96. Private Sub bR_Click(sender As Object, e As EventArgs) Handles bR.Click
    97. TextBox1.Text = Math.Round(Val(TextBox1.Text), 2)
    98. End Sub
    99. Private Sub bPi_Click(sender As Object, e As EventArgs) Handles bPi.Click
    100. TextBox1.Text =[color=#0000CD] Math.PI As Double[/color]
    101. End Sub
    102. Private Sub bE_Click(sender As Object, e As EventArgs) Handles bE.Click
    103. TextBox1.Text = [color=#0000CD]Math.E.ToString("G", Globalization.CultureInfo.InvariantCulture)[/color]
    104. End Sub
    105. Private Sub bwur_Click(sender As Object, e As EventArgs) Handles bwur.Click
    106. TextBox1.Text = Math.Sqrt([color=#0000CD]TextBox1.Text[/color])
    107. End Sub
    108. Private Sub bh2_Click(sender As Object, e As EventArgs) Handles bh2.Click
    109. TextBox1.Text = [color=#0000CD]Val(TextBox1.Text) * Val(TextBox1.Text)[/color]
    110. End Sub
    111. Private Sub b7_Click_1(sender As Object, e As EventArgs) Handles b7.Click
    112. TextBox1.Text += "7"
    113. End Sub
    114. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    115. Form2.Show()


    *Toteditierten Post wiederhergestellt* ~NoFear23m

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Nofear23m“ ()

    Wichtig:

    Setzte erstmal um was wir dir gesagt haben. Der @RodFromGermany hat da noch was gutes beigetragen daran hatte ich gar nicht gedacht.
    Nämlich das du den VB6-Kram rausschmeißt das steht im selben Thread wie das zu Option Strict On.

    Und dann wäre es am besten wenn du uns volle Sätze als Aufgabenstellung / Problem gibst.
    Ich kann jetzt auch nichts mit deiner Antwort anfangen. (Ich denke du meinst allgemein die Irrationale Zahl wie E und Pi aber kA ob du das meinst)

    Dann postest du uns deinen Code und sagst uns was nicht funktioniert so genau wie möglich mit der Fehlermeldung.

    /EDIT// 3 Antworten während ich schrieb wuha...
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    in meiner puplic class form steht das. das ganze projekt beruht auf das.wenn ich das entfernen muss dann muss ich das halbe projekt auf den kopf stellen und muss alle codes umändern

    VB.NET-Quellcode

    1. Public Property Zahl As String = ""
    2. Public Property Calc As String = ""


    z.B.

    VB.NET-Quellcode

    1. Private Sub bAC_Click(sender As Object, e As EventArgs) Handles bAC.Click
    2. Calc = ""
    3. Zahl = ""
    4. TextBox1.Text = ""
    5. LB1.Text = ""
    6. LB2.Text = ""
    7. End Sub

    VB.NET-Quellcode

    1. Private Sub bmal_Click(sender As Object, e As EventArgs) Handles bmal.Click
    2. Zahl = TextBox1.Text
    3. LB2.Text = Zahl
    4. TextBox1.Text = ""
    5. Calc = "*"
    6. LB1.Text = Calc
    7. End Sub


    (ist ein taschenrechner nur zu info)

    Moin,

    du sollst das ja nicht entfernen. Nur "richtig" machen. Zahl ist kein String. Was ist denn Zahl? Eine Zahl oder? Und dafür gibt es die
    dementsprechenden DatenTypen (Double/Integer/Decimal/Long) nun musst du wissen was Zahl für einen Datentypen braucht.

    Was soll "Calc" sein? Was kommt denn darein?
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen

    mxrxtzzzz schrieb:

    wenn ich das entfernen muss dann muss ich das halbe projekt auf den kopf stellen

    Es lohnt sich. Glaub uns das bitte. Und so viel ist das nicht. sollte in 5 -10 Minuten erledigt sein. Wenn man nicht so geübt soll es ne Stunde oder zwei sein, aber du sparst dir soooo viel ärger. Nicht nur in diesem Projekt, sondern auch in allen weiteren.

    Also, nimm dir die Zeit und mach es richtig.
    Dann Poste den neuen Code und wir sehen nochmal drüber (hab da nämlich noch ein paar Dinge gesehen wie z.b. Form2.Show().
    Aber über das reden wir dann später.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##