http://emoticongue.blogspot.com -->

.t.h.e. .l.a.m.p. .p.o.s.t.

Tuesday, January 09, 2007

Kesalahan Tipe Data dalam C#

Quick Fix.
Misal kita membuat tipe data float dengan nilai 0.07 seperti ini:
private float x = 0.04;

Maka C# akan menampilkan pesan error:
"Literal of type double cannot be implicitly converted to type float."

maksudnya apa?
Ternyata default yang digunakan untuk C# dalam menyimpan data pecahan adalah double. Dan jika kita meng-assign value seperti diatas maka kita dianggap mencoba untuk mengkonvert dari double ke float, dan itu dianggap suatu kesalahan karena akan terjadi data loss (berhubung memory yang dipakai double lebih besar dari float).

Solusinya?
Sederhana... ubah kode anda menjadi:
private float x = 0.04f;

yang menunjukkan pada C# yang baik bahwa 0.04 itu adalah sebuah float.

Bagaimana dengan mengkonvert dari satu tipe data ke tipe data lain.
Ada 2 cara yang saya tahu (kalo ada yang lain tambahin di komen ya...):
1. pake System.Convert.
Contoh kalo pengen mengubah data di atas jadi double pake:
Double d = System.Convert.Double(x);
2. pake casting kayak C++ atau Java.
Contoh
double d = (double) x;
Konvert itu melempar exception jika error, maka pake try-catch ya...

Labels: , ,

0 Comments:

Post a Comment

<< Home