Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将输入文本值传递给DecimalFormat时出错_Java_String_Decimalformat - Fatal编程技术网

Java 将输入文本值传递给DecimalFormat时出错

Java 将输入文本值传递给DecimalFormat时出错,java,string,decimalformat,Java,String,Decimalformat,我想把输入的文本值转换成十进制格式。将值保存为数据库中的十进制格式。但代码下面有个错误。谁能解释一下代码的错误吗 DecimalFormat decimalformat = new DecimalFormat("#.00"); String dp = decimalformat.format(mf.getParameter("pprice")); product.setPrice((Double.parseDouble(dp))); java.lang.IllegalArgumentExcep

我想把输入的文本值转换成十进制格式。将值保存为数据库中的十进制格式。但代码下面有个错误。谁能解释一下代码的错误吗

DecimalFormat decimalformat = new DecimalFormat("#.00");
String dp = decimalformat.format(mf.getParameter("pprice"));
product.setPrice((Double.parseDouble(dp)));
java.lang.IllegalArgumentException:无法将给定对象格式化为 位于的java.text.DecimalFormat.format(DecimalFormat.java:507)处的编号 java.text.Format.Format(Format.java:157)位于 save_product.doPost(save_product.java:66)


这里有几个问题

  • 如注释中所述,您不能为
    DecimalFormat.format
    方法提供
    String
    值。它必须是
    Number
    的子类型。这可以通过将
    mf.getParameter(“pprice”)
    的响应解析为double来解决。这样地:
    decimalformat.format(Double.parseDouble(mf.getParameter(“pprice”))
  • 当你将它转换回双精度时,这样做根本没有意义。你不妨就这么做
    product.setPrice(Double.parseDouble(mf.getParameter(“pprice”))。无论如何,格式都会丢失

  • 这里有几个问题

  • 如注释中所述,您不能为
    DecimalFormat.format
    方法提供
    String
    值。它必须是
    Number
    的子类型。这可以通过将
    mf.getParameter(“pprice”)
    的响应解析为double来解决。这样地:
    decimalformat.format(Double.parseDouble(mf.getParameter(“pprice”))
  • 当你将它转换回双精度时,这样做根本没有意义。你不妨就这么做
    product.setPrice(Double.parseDouble(mf.getParameter(“pprice”))。无论如何,格式都会丢失

  • mf.getParameter(“pprice”)
    究竟返回什么?它返回字符串值format方法不支持string。它需要是Number的一个实例。查看
    mf.getParameter(“pprice”)
    究竟返回什么?它返回字符串值format方法不支持string。它需要是Number的一个实例。看见
    <input type="text" class="form-control" placeholder="0.00" name="pprice"/>