Hallo,
ich muß mit Zahlen im Bereich von Billiarden und Trilliarden rechnen und darüber hinaus.
mein bisheriger code (Verbesserung erwünscht):
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
ich muß mit Zahlen im Bereich von Billiarden und Trilliarden rechnen und darüber hinaus.
mein bisheriger code (Verbesserung erwünscht):
VB.NET-Quellcode
- Dim num26 As Long = Convert.ToInt64(Me.TextBox62.Text)
- Dim num27 As Long = Convert.ToInt64(Me.TextBox68.Text)
- Dim geb3 As String = "Munitionsfabrik"
- Dim num28_1 As Long = (muni_preis * 20 / 100)
- Dim num29 As String
- Dim num30 As Long
- Dim num31 As String
- If TextBox62.Text = "0" Then
- num30 = (num27) * (muni_preis + num28_1) * ((num27 - 1) / 2)
- Else
- num29 = muni_preis + (num28_1 * num26)
- num30 = (num27) * (num29 + (num28_1 * (num27 - 1) / 2))
- End If
- If num30 > "1000000000000" Then
- num30 = num30 \ "1000000000"
- num31 = num30.ToString("#,0 M")
- Else
- num31 = (Me.FormatStringWithThousandsSeparator(CType(num30, String)))
- End If
- Dim num32_1 As Long = (num27 * muni_punkte)
- Dim num33 As String
- If num32_1 > "1000000000000" Then
- num32_1 = num32_1 \ "1000000000"
- num33 = num32_1.ToString("#,0 M")
- Else
- num33 = (Me.FormatStringWithThousandsSeparator(CType(num32_1, String)))
- End If
- Dim num34_1 As Long = num27 * muni_tick
- Dim num35$
- If num34_1 > "1000000000000" Then
- num34_1 = num34_1 \ "1000000000"
- num35 = num34_1.ToString("#,0 M")
- Else
- num35 = (Me.FormatStringWithThousandsSeparator(CType(num34_1, String)))
- 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