【问题标题】:java string value should use in double.valueof(..)java 字符串值应该在 double.valueof(..) 中使用
【发布时间】:2023-04-01 17:22:01
【问题描述】:

我正在创建 .jsp 页面并收到关于它的错误;

        String energyv="";

        int number= Integer.parseInt(request.getParameter("number"));
        energyv="_"+number;
    *
    *
    *
        if (tokenNumber == 2 && found && value1.equals("")) {
        value1= nextToken;
        if (value1.equals(""))
        found = false;

        }

        if (tokenNumber == 3 && found && value2.equals("")) {
        value2= nextToken;

        }

*
*
*
        Double activeTotalLong = Double.valueOf( "value" + energyv );

*
*
*

当尝试这样做时,我收到了 tomcat 错误;

2012 年 8 月 2 日 11:17:30,097 错误 http-8080-4 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/PlantVisorPRO].[jsp] - servlet jsp 的 Servlet.service() 抛出异常 java.lang.NumberFormatException:对于输入字符串:“value2”在 sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1224) 在 java.lang.Double.valueOf(Double.java:475)

Java 可以创建我的值(如 value2 或 value1),但我如何解决字符串问题?

【问题讨论】:

    标签: java string double


    【解决方案1】:
    Double activeTotalLong = Double.valueOf( "value" + energyv );
    

    此方法采用字符串中表示的有效数字。

    “value2”不是有效的数字格式。

    Double.valueOf() 的示例用法:

    Double d;
    d = Double.valueOf("23.72");
    d = Double.valueOf("-1.247002");
    d = Double.valueOf("1e9"); // e  =    *10^()
    

    所以,您要做的是获取value2value1 的值。而你实际写的是

       "value" + 2
    =  "value2"    // This is a string! not a variable!
    

    所以,要解决这个问题,有两种选择:

    • 使用数组
    • 使用 if-else

    使用数组:

    String values[] = new String[2];
    values[0] = value1;
    values[1] = value2;
    Double.valueOf(values[energyv - 1]);
    

    使用 if-else:

    Double activeTotalLong;
    if (energyv == 1)
    {
        activeTotalLong = Double.valueOf(value1);
    } else if (energyv == 2)
    {
        activeTotalLong = Double.valueOf(value2);
    }
    

    【讨论】:

    • 是的,谢谢您的回答。我试过数组函数。它正在工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    • 1970-01-01
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    相关资源
    最近更新 更多