gpt4 book ai didi

java字符串值应该在double.valueof(..)中使用

转载 作者:行者123 更新时间:2023-12-02 07:39:31 30 4
gpt4 key购买 nike

我正在创建 .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 错误;

02 Aug 2012 11:17:30,097 ERROR http-8080-4 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/PlantVisorPRO].[jsp] - Servlet.service() for servlet jsp threw exception java.lang.NumberFormatException: For input string: "value2" at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1224) at java.lang.Double.valueOf(Double.java:475)

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

最佳答案

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);
}

关于java字符串值应该在double.valueof(..)中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11774388/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com