Java

Data Type Converting

Error converting data type nvarchar to decimal

Berawal dari menggunakan type data BigDecimal untuk keperluan perhitungan uang (currency) dimana dibutuhkan slot untuk numerik (angka) yang cukup panjang, termasuk dua angka di belakang koma.

Object obj = 0.01;
BigDecimal one = new BigDecimal((Double)obj);
BigDecimal two = new BigDecimal(0.01);
BigDecimal three = new BigDecimal("0.01");
BigDecimal four = two.setScale(3, RoundingMode.HALF_EVEN);

System.out.println(one);
System.out.println(two);
System.out.println(three);
System.out.println(four);

Pada barisan Code di atas, untuk tipe data BigDecimal akan menghasilkan nilai yang berbeda

SystemOut     O 0.01000000000000000020816681711721685132943093776702880859375
SystemOut     O 0.01000000000000000020816681711721685132943093776702880859375
SystemOut     O 0.01
SystemOut     O 0.010

Dengan demikian, agar bisa di terima oleh parameter Stored Procedure, perlu di potong, dengan pembulatan, walaupun sebenarnya 2(dua) angka dibelakang koma sudah cukup, namun dalam hal ini, saya mengantisipasi adanya pembulatan menggunakan

RoundingMode.HALF_EVEN

Sekian, Terimakasih
_GoodProgram Show What is wrong, not just throw it to exceptions 🙂

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *