Back again w00t w00t. Ahahaha. Dua hari lepas dapat lagi satu ilmu dalam java programming ni. Okay first kita tengok dulu apa problem kat sini. Aku boleh ringkaskan masalah aku ni kepada 4 peringkat:
1 - get double value (exp: 678.1) daripada database dan formatkan kepada 2 decimal point/places (exp: 678.10).
2 - bila dah di formatkan double value ni akan di'cast'kan kepada String, so nak tukar balik kepada Double supaya aku boleh darab dengan 100.
3 - sebab aku darab pulak dengan 100 ialah untuk mendapatkan data macam (678.10 > 67810). So senang cerita aku nak jadikan (678.1 kepada 67810)
Kita start dengan import dulu library/API yang diperlukan
import java.text.NumberFormat;
Pastu set Max/Min fraction digit menggunakan NumberFormat. Untuk contoh ni aku setkan Max/Min kepada 2 titik perpuluhan
NumberFormat form = NumberFormat.getInstance();
form.setMinimumFractionDigits(2);
form.setMaximumFractionDigits(2);
Untuk assign value, aku guna for loop + Iterator. Kat bawah ni korang boleh nampak macam mana dtlIterator.getTotal() diformatkan kepada 2 titik perpuluhan menggunakan from.format(). Pada tahap ni, value getTotal() akan ber'type' String dengan 2 titik perpuluhan. Double.parseDouble pulak akan tukar Stiing ni kepada Double and darabkan dengan 100 ( *100 ).
for (Iteratordtl = dtlList.iterator(); dtl.hasNext(); ) {
PendPaymentLogDtl dtlIterator = dtl.next();
Double tempTotal = Double.parseDouble(form.format(dtlIterator.getTotal())) * 100;
System.out.println("test lagi double >>> " + tempTotal.longValue());
}
Harapnya korang faham apa yang aku nak buat kat sini. Harap dapat membantu, walaupun tak byk. Daaa...