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…

About dnial

You don't see anything You don't hear anything You don't know anything Move along and pretend nothing happen

Posted on 9 Januari, 2007, in programming. Bookmark the permalink. Tinggalkan komentar.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: