Aku buat program dengan menggunakan Map di Apex.
Waktu di-save, gagal dengan error berikut :
Error: Compile Error: Invalid Integer: 5000000000 at line ...
Loh? Masak decimal gak bisa menampung data 5M? Gimana bisa buat program akunting di Indonesia kalau gini. Penasaran, aku tanya ke senior.
Dia mencoba menawarkan menambahkan .00 di belakang angka 5M.
Dan berhasil!!!
Aneh. Bahkan seniorkupun merasa heran kok solusi yang diberikan dia bisa berhasil.
Dugaanku, apex menganggap angka itu sebagai Integer (sesuai pesan errornya), meskipun tipe datanya sudah kuberi Decimal. Akibatnya error karena 5M melebih batas untuk integer.
Mungkin paling tepat adalah menggunakan casting data : Decimal.valueOf(5000000000). Tapi kan merepotkan :(
MapmapData = new Map mapData.put('01', 10000);mapData.put('02',5000000000);();
Waktu di-save, gagal dengan error berikut :
Error: Compile Error: Invalid Integer: 5000000000 at line ...
Loh? Masak decimal gak bisa menampung data 5M? Gimana bisa buat program akunting di Indonesia kalau gini. Penasaran, aku tanya ke senior.
Dia mencoba menawarkan menambahkan .00 di belakang angka 5M.
mapData.put('02',5000000000.00);
Dan berhasil!!!
Aneh. Bahkan seniorkupun merasa heran kok solusi yang diberikan dia bisa berhasil.
Dugaanku, apex menganggap angka itu sebagai Integer (sesuai pesan errornya), meskipun tipe datanya sudah kuberi Decimal. Akibatnya error karena 5M melebih batas untuk integer.
Mungkin paling tepat adalah menggunakan casting data : Decimal.valueOf(5000000000). Tapi kan merepotkan :(
Comments