Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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
Jsp 关于c的数学:集合变量_Jsp_Jstl - Fatal编程技术网

Jsp 关于c的数学:集合变量

Jsp 关于c的数学:集合变量,jsp,jstl,Jsp,Jstl,与一些c:set语法(JSP/Eclipse中的JSTL)斗争 choose/when(if)部分和初始c:设置为row.sensorvalue可以正常工作,但任何对变量执行数学运算的尝试都会导致公式(而不是结果)以小数和实际值结束 感谢您的帮助 <c:when test = "${row.typename == 'Temperature'}"> <c:set var = "initialvalue" value="${row.sensorvalue}" /> <

与一些c:set语法(JSP/Eclipse中的JSTL)斗争

choose/when(if)部分和初始c:设置为row.sensorvalue可以正常工作,但任何对变量执行数学运算的尝试都会导致公式(而不是结果)以小数和实际值结束

感谢您的帮助

<c:when test = "${row.typename == 'Temperature'}">

<c:set var = "initialvalue" value="${row.sensorvalue}" />

<c:set var="decimalvalue" value="${initialvalue}*0.1875"/>

<c:set var="actualvalue" value="((10.888 - SQRT((-10.888)^2 +4*0.0035*(1777.3-${decimalvalue})))/(2*-0.00347) + 30)"/>

<td><c:out value="${actualvalue}"/></td>

</c:when>

问候 拉尔夫

在一个scriplet中成功地做到了这一点(凌乱,但我不会假装是开发人员)-



表达式是介于
${
}
之间的所有内容,即仅计算此部分,其余部分为文本常量(文字)。因此,您应该使用例如
value=“${initialvalue*0.1875}”
来代替
value=“${initialvalue}*0.1875”
(即,将整个公式放入
${}
)中。感谢Jozef,第一部分工作,但与第二部分配合(变量在公式中)看看这里:-解释得很好。获取“当未指定默认名称空间时,函数SQRT必须与前缀一起使用”,但不知道如何修复此问题。我建议使用带有这些函数的bean,此类公式不属于JSP。
<%
String morecalcs = pageContext.getAttribute("calculatedvalue").toString();

//string to float
float forroot = Float.parseFloat(morecalcs);

//integer part for square root calcs
float fractionalPart = forroot % 1;
float integralPart = forroot - fractionalPart;

// square roote calcs
double actualvalue = (10.888 - Math.sqrt(Math.pow(-10.888, 2) +4*0.0035*(1777.3-integralPart)))/(2*-0.00347) + 30;

//1 decimal place
double rounded1 = Math.round(actualvalue * 10) / 10.0;
pageContext.setAttribute("finalvalue", rounded1);
%>