Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Krugo am 22.11.06 - 11:16:39

Titel: Einmal Luft rauslassen
Beitrag von: Krugo am 22.11.06 - 11:16:39
schreibt euch einfach mal einen LS-Agenten mit folgendem Inhalt:

Sub Initialize
   Messagebox 558.33 - 546.01
End Sub

Das Ergebnis beweist mal wieder: Mit Notes muss man Probleme lösen, die man ohne nicht hätte!!!  >:D

NotesSucks = true
Titel: Re: Einmal Luft rauslassen
Beitrag von: Thomas Schulte am 22.11.06 - 11:23:34
Und was hat das jetzt mit Notes zu tun?
Titel: Re: Einmal Luft rauslassen
Beitrag von: Axel am 22.11.06 - 11:26:06
Und was hat das jetzt mit Notes zu tun?

Genau.

Denn z.B. in VBA ist das Ergebnis das Gleiche.


Axel
Titel: Re: Einmal Luft rauslassen
Beitrag von: dirk_2909 am 22.11.06 - 11:35:15
Zitat
558.33 - 546.01

Wo ist das problem??
Der Massagebox wird doch gesagt es soll 12,3200000000001 anzeigen  ???  8)

Wenn ich Ihr sage ich will den String sehen, sieht es anders aus:
Code
Messagebox  "558.33 - 546.01"

Ich glaube hier macht nicht Notes die Probleme  ::)
Titel: Re: Einmal Luft rauslassen
Beitrag von: botschi am 22.11.06 - 11:45:57
Was soll denn da passieren, was bei VB auch passiert?
Titel: Re: Einmal Luft rauslassen
Beitrag von: Axel am 22.11.06 - 11:54:15
Ich denke, dass passiert auch bei anderen Programmiersprachen.


Axel
Titel: Re: Einmal Luft rauslassen
Beitrag von: Thomas Schulte am 22.11.06 - 11:57:14
Genau. Weil das hat nämlich nichts mit der Sprache und viel mit der Art wie Binäres Rechnen funktioniert zu tun.
Titel: Re: Einmal Luft rauslassen
Beitrag von: Glombi am 22.11.06 - 12:00:34
alles kalter Kaffe

Das haben wir hier schon ausführlich diskutiert.

Andreas
Titel: Re: Einmal Luft rauslassen
Beitrag von: Thomas Schulte am 22.11.06 - 12:02:34
Eben.
Titel: Re: Einmal Luft rauslassen
Beitrag von: botschi am 22.11.06 - 12:05:53
Ich versteh das alles nicht  :-: Was erwartet Krugo denn für ein Ergebnis?
Aber offensichtlich ist es auch nicht Wert, sich das zu merken.

Reservierten Speicherbereich wieder freigegeben... Blödsinn soll wichtiges ja nicht ersetzen  8)
Titel: Re: Einmal Luft rauslassen
Beitrag von: Glombi am 22.11.06 - 12:13:11
siehe bspw. auch
http://atnotes.de/index.php?topic=29807.0

Ergo: JavaSucks  == true  ;D

Titel: Re: Einmal Luft rauslassen
Beitrag von: Demian am 22.11.06 - 12:30:59
Weiß ja nicht, ob ich was verpasst habe, aber ich nehme mal an es geht um die Nachkommastellen.

Msgbox Ccur(558.33 - 546.01)

löst das Problem doch? Warum jetzt die Aufregung?

Gruß
Demian
Titel: Re: Einmal Luft rauslassen
Beitrag von: botschi am 22.11.06 - 12:33:53
OK, alles klar. Es ging um Nachkommastellen usw.
Damit habe ich auch schon gekämpft.

Der Betreff im Zusammenhang mit dem Text hat mich aus der Kurve geworfen. Ich habe den Zusammenhang gesucht und nicht gefunden.

Schreiben Sie es auf, ich beschäftige mich später damit ...  ;D
Titel: Re: Einmal Luft rauslassen
Beitrag von: dirk_2909 am 22.11.06 - 12:37:28
Zitat
Einmal Luft rauslassen

Dann ist die Luft wohl jetzt raus...  ;D
Titel: Re: Einmal Luft rauslassen
Beitrag von: flaite am 23.11.06 - 15:57:43
siehe bspw. auch
http://atnotes.de/index.php?topic=29807.0
Ergo: JavaSucks  == true  ;D


Mit BigDecimal geht das:
Code
import java.math.BigDecimal;


public class BigDecimalTest {
	
	public static void main (String [] args) {
		System.out.println("no good:");
		System.out.println("558-546.01=" + (558-546.01));
		System.out.println("works:");
		BigDecimal first = new BigDecimal("558.33");
		BigDecimal second = new BigDecimal("546.01");
		BigDecimal result = first.subtract(second);
		System.out.println(first.toPlainString() + "-" + second.toPlainString() + "=" + result.toPlainString());
	}

}


ergibt:
Code
no good:
558-546.01=11.990000000000009
works:
558.33-546.01=12.32