我用代码往数据库(mysql)中update 几个属性
PreparedStatement pstata = null;
String sqla = null;
sqla= "update productattributetable set "+nodename[i3]+"=? where productid="+productid;
// System.out.println("***"+nodevalue[i3]+"***");
pstata = conna.prepareStatement(sqla);
pstata.setString(1,nodevalue[i3]);
pstata.executeUpdate();
pstata.close();
循环update后把数据库的内容读出来,其中有一个price 是DECIMAL(9,2)型的,取出来用jsp显示。本来值为120,他就显示成120.9800033569336。
为什么呢?
望大师们指点下。
PreparedStatement pstata = null;
String sqla = null;
sqla= "update productattributetable set "+nodename[i3]+"=? where productid="+productid;
// System.out.println("***"+nodevalue[i3]+"***");
pstata = conna.prepareStatement(sqla);
pstata.setString(1,nodevalue[i3]);
pstata.executeUpdate();
pstata.close();
循环update后把数据库的内容读出来,其中有一个price 是DECIMAL(9,2)型的,取出来用jsp显示。本来值为120,他就显示成120.9800033569336。
为什么呢?
望大师们指点下。
你要使用浮点数应该是BigDecimal型,别用float或double
比如date 型的插入数据库的时候是 2008-8-9 读出来它会可能会这样显示: 2008-8-9 12:00:00.0 //自动加上这样你显示的时候就要转换一下了
public static void main(String[] args) {
//转换
DecimalFormat df=new DecimalFormat("0.00");
String number=df.format(5.000000000);
System.out.println(number);
//转换日期
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String date=sdf.format(new Date());
System.out.println(date);
}