[Erledigt] Berechnung geht schief...?

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von UFO.

    [Erledigt] Berechnung geht schief...?

    Hallo...

    Ich habe gerade so aus Langweile etwas herumprogrammiert. Jetzt habe ich ein Problem:
    Ich will etwas berechnen. Die Zahlen ändern sich (Zufallszahlen, wenn man das überhaupt so nennen kann) und er soll sie mit einer bestimmten Zahl multiplizieren.
    Wenn ich zum Beispiel in einer Variable die Zahl 1.23 festlege (diese wird nicht verändert) und diese mit 54 Multipliziere funktioniert es. Wenn ich allerdings
    mit 2 Random's eine Zahl festlegen will (sagen wir zum Beispiel 1.42), dann berechnet mein Programm falsch. Wie kann ich das gut Lösen?

    Hab auch schon bissel was selbst probiert, aber ich habe es nicht hinbekommen.

    Lord Maul

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

    Stimmt, Ihr braucht Code damit Ihr helfen könnt... :|
    Ehm, anders: Wie kann ich eine Kommazahl (mit . als Trennzeichen) mit einem "Random" machen?
    Also dass zum Beispiel 1.23 rauskommt?

    //EDIT: @Jören: Siehe über diesem Satz...

    Lord Maul
    öhm...du kannst einen Random mit Kommazahlen machen^^
    Siehe:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim rnd As New Random
    3. Dim x As Double
    4. Dim y As Double
    5. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    6. x = rnd.NextDouble()
    7. y = rnd.NextDouble()
    8. MsgBox(x * y)
    9. End Sub
    10. End Class

    Kommt zwar nur eine Kommazahl zwischen 0,0 und 1,0
    Aber mehr wollte Lord Maul auch nicht...
    Danke für die Antworten!
    Funktioniert zwar alles, aber ich brauche zum Beispiel 1.23, und nicht 0.xxxx -.-'

    Mal so ne Frage: Wenn Ich jetzt einfach zwei Zahlen nehme, die eine ist 1 und die andere z.B. 23, wie kann ich da nun ein . zwischen die 1 und die 23 bekommen?

    Jöran schrieb:


    öhm...:
    Dim rnd as new random
    dim test as string
    test = rnd.next(0, 200) & "." & rnd.next(0, 200)

    Hoffe das geht

    öhm...:
    Hatte ich versucht, funktioniert nicht (frag mich nicht warum)
    Wenn ich das mache berechnet der (ich hab ja eine Zahl zwischen 10 und 75) die 1. * die 2. (die zweite ist z.B. 1.24). Sollte auch richtig sein, doch ich bekomme irgendwas mit ~ 500 - 1000 heraus, also wohl nicht so ganz das richtige.

    UFO schrieb:

    etwas kosmsich geht aber

    VB.NET-Quellcode

    1. Dim rn As New Random
    2. Dim z As String = rn.Next(0, 2) & "," & rn.Next(0, 11)
    3. Dim z2 As Decimal = CDec(z)
    4. Me.Text = z2

    er geht

    Danke dir UFO, funktioniert Prima!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Lord Maul“ ()