Autor Beitrag
Jakob_Ullmann
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: So 20.09.09 15:28 
Hi!

Ich weiß erstmal nicht, ob die Frage hier richtig ist, da ich mich noch nicht mit anderen .NET-Sprachen beschäftigt habe (mir reicht es schon, wenn ich C# einigermaßen kann), aber ich denke schon, dass das C#-spezifisch ist.

Bei der folgenden Zeile:

ausblenden C#-Quelltext
1:
2:
myBmp.SetPixel(i, j, Color.FromArgb(255, Math.Round(i / 2),
                                                        4 * j, 255));


Meckert Visual C#. Stattdessen geht es nur mit

ausblenden C#-Quelltext
1:
2:
myBmp.SetPixel(i, j, Color.FromArgb(255, (int)Math.Round((double)(i / 2)),
                                                        4 * j, 255));


Da wollte ich mal fragen, ob es vielleicht eine schönere Möglichkeit gibt, den Code zum Laufen zu bringen, da das ja sonst die Lesbarkeit des Codes ganz schön behindert.
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: So 20.09.09 15:34 
ausblenden C#-Quelltext
1:
Color.FromArgb(255, i / 2, ...					

:zwinker:

Rundet im Gegensatz zu Round immer ab, aber das sollte in diesem Fall ja nicht weiter stören, oder ;) ?
Wobei ich gerade sehe, dass deine Version das auch macht. Du führst erst eine int-Division durch und castest erst danach nach double. Richtig wäre
ausblenden C#-Quelltext
1:
(int)Math.Round((double)i / 2)					

oder
ausblenden C#-Quelltext
1:
(int)Math.Round(i / 2d)					

_________________
>λ=
Jakob_Ullmann Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Mo 21.09.09 16:13 
In diesem Fall hab ich wohl angenommen, dass das genauso wie bei Delphi läuft. Vielen Dank! :wink:

An dem Punkt merke ich, dass ich die Hälfe dessen, was ich vorgestern gelesen habe, schon wieder vergessen habe. :lol:

EDIT: Ich habe noch eine Frage: Was ist der Unterschied zwischen 2f, 2F und 2d? Ich dachte, float wäre ein Oberbegriff für double und decimal?? OK, hab's begriffen, dass float = Single ist...