nachkommastellen

theindra

Mitglied
hallo ich hab ein problem
ich hab ein programm geschrieben das pi berechnen sollte!
aber es rechnet brav vor sich dahin und am ende hat die zahl nur 12 nachkommastellen was kann ich dagegen tun
hier der code:


Imports System.IO
Imports System

Module Module1
Dim x, y
Dim erg
Dim txt As StreamWriter


Sub Main()
Console.WriteLine("PI wird berechnet...")
rechnen()
Console.WriteLine("Das Ergebnis wurde unter C:\Pi.txt gespeichert.")

Console.ReadLine()
End Sub

Sub rechnen()
x = 1
y = 3

Dim gh
erg = 0
For gh = 0 To 9999999
erg += 1 / x - 1 / y
'Console.WriteLine(4 * erg)
x += 4
y += 4
Next

txt = New StreamWriter("C:\pi.txt")
txt.WriteLine(4 * erg)
txt.Close()
End Sub


End Module
 
Mal abgesehen davon, dass hier nicht PI rauskommt sondern was anderes solltest Du bei der Deklaration von Variablen immer stets den Datentyp mit angeben, welchen der Compiler verwenden soll.

Hab Deinen Source Code gerade mit C#.NET getestet (habs umgeschrieben). Hab dabei den Datentyp double verwendet und hab immerhin schon mal 17 Nachkommastellen erhalten. Aber PI berechnet Dein Quelltext nicht, sonst müsste was mit 3,14blablabla rauskommen. ;)

Irgendwann ist bei den Compilern sowieso mit den Nachkommastellen Schluss. Je nach dem wie viele Nachkommastellen Du benötigst wirst Du ab einer bestimmten Anzahl ein Work-Around benötigen.
 
Zurück