Umwandlung von double-Werten für einen Punkt geben
Will ich eine Kurve zeichnen (dioden-Kennlinie) in eine picturebox mit imagefrom bitmap. Ich habe jetzt ein problem, und es ist meine Meinung die Daten werden gespeichert als Double und es ist wirklich wichtig, dass die precesion.
z.B. einen Punkt in der Handlung, die ich habe ist wie dieses:
Spannung: -0.175 Strom: -9.930625 E-06
Ja, es ist ein Double! nun, wie kann ich einen Punkt zu tun, zum Beispiel:
Point[] ptarray = new Point[3];
ptarray[0] = new Point(250, 250);
Gibt es eine alternative zu Point[] akzeptiert, dass double-Werte? Ich habe ein 500x500 Bild-box. gibt es eine Möglichkeit, um diese Werte zu konvertieren, um gültige Punkte, die noch zu retten precesion? Ich bin wotking mit micro Ampers (10^-6) und Spannungen!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut, wenn
float
ist genug Präzision, dann können Sie diePointF
struct:Wenn Sie wirklich brauchen, um, definieren Sie Ihre eigenen
PointD
struct:Gleichheit code ursprünglich aus hier.
Den
ToPoint()
Methode können Sie es konvertieren zu einemPoint
Objekt, obwohl natürlich die Genauigkeit gekürzt.GetHashCode()
für Strukturen.Wenn es nur für die Speicherung dieser Werte gibt es immer
Tuple
:Obwohl die
System.Drawing.Point
struct verwendetint
Werte, und dieSystem.Drawing.PointF
struct verwendetfloat
Werte, es ist auch dieSystem.Windows.Point
Struktur, die verwendetdouble
Werte. Also ist das wohl die beste Wahl, wennfloat
nicht genügend Präzision für Ihre Bedürfnisse.Jedoch, da der name der struct Konflikte mit der
int
-basiert, kann es sein, unhandlich zu verwenden, in einer Datei, die bereits eineusing System.Drawing
Richtlinie in es:Glücklicherweise können Sie dies umgehen, indem Sie mithilfe eines alias: