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 ""; }如下图所示: