(1)在把int或double轉換成BigDecimal時位數就會相應的增長,為了解決這個問題,可以將double獲long型通過自寫函數round進行四舍五入
后,在轉換成String,然后通過new BigDecimal()轉換過來
例如:fosum = new BigDecimal(String.&#118alueOf(round(uo1sum.double&#118alue() + uo2sum.double&#118alue(),3)))
(2)將時間轉換成字符
java.util.Date date = new java.util.Date(databean.getTyrq().getTime());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
tyrq = sdf.format(date);
(3)將字符串轉換成時間Timestamp類型
public java.sql.Timestamp strToTimestamp(String str){
java.sql.Timestamp sdate = null;
if(str!=null){
if(str.trim().length()==8){
str = str.substring(0,4)+"-"+str.substring(4,6)+"-"+str.substring(6,8);
}
try{
DateFormat df = DateFormat.getDateInstance(DateFormat.DEFAULT,java.util.Locale.CHINA);
java.util.Date date = df.parse(str);
sdate = new java.sql.Timestamp(date.getTime());
}catch(Exception e){
e.printStackTrace();
}
}
return sdate;
}
(4)將double型進行四舍五入
public double round(double v,int scale){
if(scale<0){
throw new IllegalArgumentException("The scale must be a positive integer or zero");
}
BigDecimal b = new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).double&#118alue();
}
(5)將int轉換成byte[]
public byte[] InttoByteArray(int num){
int temp = num;
byte[] b = new byte[6];
for(int i=b.length;i>-1;i--){
b[i] = new Integer(temp&0xff).byte&#118alue();
temp = temp >> 8;
}
return b;
}
(6)將int轉換成byte
int s=0;
byte b = (byte)s;
轉自:中國大學生生活網
posted on 2006-01-17 19:18
zjw_albert 閱讀(103)
評論(0) 編輯 收藏