Java如何将数据库中字符串字段转换成小数展示
1、第一步,双击打开Eclipse,并新建一个Java类“DataFormatter.java”,如下图所示:
2、第二步,接着,在main主函数外创建一个static方法
/**
* 数据库中的字段为字符串,需要将字符串转换为数值,
* 并将数值保留两位小数,并最终转换为字符串
* @param dbField
* @return
*/
public static String formatterDecimal(String dbField)
{
//将字符串强制转换成double类型
double number = Double.parseDouble(dbField);
//将number转换为BigDecimal,并保留两位小数,四舍五入
BigDecimal bigNum = new BigDecimal(number).setScale(2, BigDecimal.ROUND_HALF_UP);
//将bigNum转换成字符串
String numberStr = bigNum.toString();
//返回字符串结果
return numberStr;
}
如下图所示:
3、第三步,在主函数中,调用formatterDecimal,并打印结果
/**
* 调用转换方法
* 并打印结果
* @param args
*/
public static void main(String[] args)
{
String childStr = formatterDecimal("1.1");
System.out.println("打印结果:" + childStr);
}
如下图所示:
4、第四步,这是打印的结果
打印结果:1.10
如下图所示:
5、第五步,如果方法中的参数dbField为空字符串或者为null,将会报错,如下所示:
Exception in thread "main" java.lang.NumberFormatException: empty String
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1020)
at java.lang.Double.parseDouble(Double.java:540)
at com.you.util.DataFormatter.formatterDecimal(DataFormatter.java:30)
at com.you.util.DataFormatter.main(DataFormatter.java:46)
6、第六步,解决上述错误,可以在static方法中,添加一个判断
/**
* 判断dbField为空字符串或null
*/
if(dbField == "" || dbField == null)
{
return "";
}
如下图所示: