Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

VB6 meine nachkommastellen sind zu wenig...??!!!

mcpfusch / 6 Antworten / Baumansicht Nickles

ich bin über ein problem gestolpert...
ich möchte zahlen so genau wie möglich ausrechnen lassen..

allerdings rundet mein programm irgendwann einmal und unterschlägt stellen.

so 20-30 stellen hinter dem komma würde schon reichen ausserdem soll er das ganze ja auch nur 50 mal machen: Danke schon mal im vorraus.

Dim Teil1#
Dim Summe#
Dim Orginal#
Dim Mittel#
Dim Teil2#
Dim Schatzung#
Dim Bruch#
Orginal = Text2.Text \'Die zu berechnete zahl wird eingelesen
Teil1 = Orginal
Teil2 = 1


Mittel = Teil1 + Teil2 \'mittel bilden
Teil1 = Mittel / 2 \'und teilen
Schatzung = Teil1 * Teil1 \'gucken ob schätzung stimmt


Teil2 = Orginal / Teil1

With Text1

.SelStart = Len(Text1.Text)
.SelLength = 0

.SelText = Teil1 & Teil1 & Schatzung & vbCrLf
End With

bei Antwort benachrichtigen
easy436 mcpfusch „VB6 meine nachkommastellen sind zu wenig...??!!!“
Optionen

Als was hast du denn deine Variablen definiert? Dim Teil1# as double!
Das ist das längste, was VB mit Zahlen bieten kann.
Trotzdem viel Spass noch!

bei Antwort benachrichtigen
mcpfusch Nachtrag zu: „VB6 meine nachkommastellen sind zu wenig...??!!!“
Optionen

ich denke das ich mit # doch wohl double schon fest gelgt habe oder?

die zeilen sind bei mir genauso wie oben beschrieben.

bei Antwort benachrichtigen
easy436 mcpfusch „VB6 meine nachkommastellen sind zu wenig...??!!!“
Optionen

Kann sein, dass du mit # die Variablen als Double deklariert hast, aber ich schreibe das lieber aus, dann habe ich es sicher.
Aber länger geht es meiner Meinung nach nun wirklich nicht

bei Antwort benachrichtigen
Borlander mcpfusch „VB6 meine nachkommastellen sind zu wenig...??!!!“
Optionen
20-30 stellen hinter dem komma würde schon reichen ausserdem soll er das ganze ja auch nur 50 mal machen
Ohne spezielle Proceduren dürfte daraus nicht werden. Die x86-FPU rechnet mit 80Bit FloatPoints - dabei entfallen 64Bit auf Mantisse und 16Bit auf den Exponenten. Du bekommst also max. 64 Binärstellen Genauigkeit ~16-20 Dezimalstellen...

CU Borlander
bei Antwort benachrichtigen
mcpfusch Nachtrag zu: „VB6 meine nachkommastellen sind zu wenig...??!!!“
Optionen

@borlander

mmm danke für deine antwort gibts da irgendwo ein todo? ich weiss vb ist nicht wirklich die tollste sprache aber irgendwie muss ich das doch machen bleibt mir wohl nix anderes übrig...

danke schonmal



@easy436

danke für deine antwort.

Tip: man spart sich eine masse an tipperei wenn man die kürzel benutzt, die sind eigendlich genauso zuverlässig und enthalten keine schreibfehler und buchstabendreher ;-)

servus

Mcpfusch

bei Antwort benachrichtigen
Synthetic_codes mcpfusch „VB6 meine nachkommastellen sind zu wenig...??!!!“
Optionen

schau mal nach bei Joachim Rohdes Buch über Assemblerprogrammierung, da ist das ziemlich genau und meines erachtens auch für einsteiger verständlich erklärt(is halt asm nich vb)

'); DROP TABLE users;--
bei Antwort benachrichtigen