Rechnen mit großen Zahlen...

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von SystemUnknow.

    Rechnen mit großen Zahlen...

    Hallo,

    ich muß mit Zahlen im Bereich von Billiarden und Trilliarden rechnen und darüber hinaus.

    mein bisheriger code (Verbesserung erwünscht):

    VB.NET-Quellcode

    1. Dim num26 As Long = Convert.ToInt64(Me.TextBox62.Text)
    2. Dim num27 As Long = Convert.ToInt64(Me.TextBox68.Text)
    3. Dim geb3 As String = "Munitionsfabrik"
    4. Dim num28_1 As Long = (muni_preis * 20 / 100)
    5. Dim num29 As String
    6. Dim num30 As Long
    7. Dim num31 As String
    8. If TextBox62.Text = "0" Then
    9. num30 = (num27) * (muni_preis + num28_1) * ((num27 - 1) / 2)
    10. Else
    11. num29 = muni_preis + (num28_1 * num26)
    12. num30 = (num27) * (num29 + (num28_1 * (num27 - 1) / 2))
    13. End If
    14. If num30 > "1000000000000" Then
    15. num30 = num30 \ "1000000000"
    16. num31 = num30.ToString("#,0 M")
    17. Else
    18. num31 = (Me.FormatStringWithThousandsSeparator(CType(num30, String)))
    19. End If
    20. Dim num32_1 As Long = (num27 * muni_punkte)
    21. Dim num33 As String
    22. If num32_1 > "1000000000000" Then
    23. num32_1 = num32_1 \ "1000000000"
    24. num33 = num32_1.ToString("#,0 M")
    25. Else
    26. num33 = (Me.FormatStringWithThousandsSeparator(CType(num32_1, String)))
    27. End If
    28. Dim num34_1 As Long = num27 * muni_tick
    29. Dim num35$
    30. If num34_1 > "1000000000000" Then
    31. num34_1 = num34_1 \ "1000000000"
    32. num35 = num34_1.ToString("#,0 M")
    33. Else
    34. num35 = (Me.FormatStringWithThousandsSeparator(CType(num34_1, String)))
    35. End If


    Zur Erklärung: num31, num33 und num35 sind die Ergebnisse die dann auch angezeigt werden sollen.

    Solang ich nur mit kleinen Zahlen rechne bis 10 Mio ist alles ok, darüber hinaus kommt dann folgender Fehler:

    Die arithmetische Operation hat einen Überlauf verursacht.

    Wäre nett wenn mir einer bei dem Problem helfen kann, bzw. ne idee hätte wie man schneller zum Ergebnis kommt.

    MfG