从数据类型 varchar 到数据类型 money 的转换,
我在表中有个列是price列,类型是money。
现在我有一个文本框,从文本框中输入price的价格数,利用getText()函数取得文本内容,我如何实现String=>money的转换呢?

解决方案 »

  1.   


    public class Test {
      static String getText(){
        return "20.5";
      }  public static void main(String[] args) {
        double d = Double.parseDouble(getText());
        System.out.println(d);
      }
    }可以直接使用double的原始数据类型数值存放到数据库中money类型的字段中
      

  2.   

    转换问题解决了,但是往数据库插入数据时出现了empty string错误。
      

  3.   

    1.MySql里一般都用decimal来表示price,
    2. 
    String price = request.getParameter("price");               
    Double priceDo = Double.parseDouble(price);
    java.math.BigDecimal priceDec = java.math.BigDecimal.valueOf(priceDo);
      

  4.   

    类型强制转换不用自己再写代码。直接用Apache的现成的包即可。
    Apache的commons-lang。下载地址:http://commons.apache.org/downloads/download_lang.cgi
    示例代码 :
    public float getFloatFromStr(String str){
    return NumberUtils.toFloat(str, 0);
    }

    public static void main(String[] args) {
    UtilNumberTest test = new UtilNumberTest();
    System.out.println(test.getFloatFromStr(null));
    System.out.println(test.getFloatFromStr(""));
    System.out.println(test.getFloatFromStr("-12"));
    System.out.println(test.getFloatFromStr("12.323"));
    }
    输出:
    0.0
    0.0
    -12.0
    12.323
    你看到了吧。这里有默认值0,所以当你输入的是Null或者空字符串的时候就会返回0了。
    apache的这个lang包中还有很多的实用方法。有时间多看看,会省去很多自己写代码的时间。