Te konvertojme nje BigDecimal ne valute – java
August 27th, 2008
Ne java valuten mund ta shprehim si BigDecimal, por me pas mund te kemi kliente qe duan ta shikojne ne formen 10.000,12 ku pika ndan mijrat dhe presja jep pjesen e qindarkave. Bigdecimal ne realitet ruan 10000.12. Per te bere kete, une kam perdorur nje funksion te thjeshte, te cilin mund te optimizoni vete.
Funksioni ka dy parametra, perdorimi duhet te jete i formes:
getFormatValute(BigDecimal, null), ose getFormatValute(null,”10124.12″), sepse mund te kemi si input edhe nje string.
public String getFormatValute(BigDecimal valuta, String strValuta){
String rezultati;
String plote="";
String dhjetore="";
if(valuta!=null){
rezultati=valuta.setScale(2,BigDecimal.ROUND_HALF_UP).toPlainString();
}else{
rezultati=strValuta;
}
if(rezultati!=null){
int pika=rezultati.indexOf(".");
int fund=rezultati.length();
if(pika>-1){
dhjetore=rezultati.substring(pika+1, fund);
plote=rezultati.replace("." + dhjetore , "");
}else{
dhjetore="00";
plote=rezultati;
}
int i=plote.length();
int j=i;
String intPika="";
while(i>0){
j=i;
i=i-3;
if(i>0){
intPika= "." + plote.substring(i,j) + intPika;
}
}
if(j>0){
intPika= plote.substring(0,j) + intPika;
}
if(intPika.indexOf(".")==0){
intPika=intPika.substring(1,intPika.length());
}
plote=intPika;
}else{
plote="0";
dhjetore="00";
}
return plote + "," + dhjetore;
}



Komentet e fundit