jsp:计算三角形面积,结果保留3,6位小数
three.jsp(三位小数)
<%@ page contentType="text/html; charset=UTF-8"%>
<%@page import="java.text.*" %>
<%@ taglib tagdir="/WEB-INF/tags" prefix="computer" %>
<html>
<body>
<form action="" method=get name=form>
<h3>请输入三角形三边长:</h3>
<table>
<tr>
<td>a:</td>
<td><input type="text" name="a"></td>
</tr>
<tr>
<td>b:</td>
<td><input type="text" name="b"></td>
</tr>
<tr>
<td>c:</td>
<td><input type="text" name="c"></td>
</tr>
</table>
<br> <input type="submit" value="计算结果最多保留3位小数" name=submit>
<% String a=request.getParameter("a");
String b=request.getParameter("b");
String c=request.getParameter("c");
if(a==null||b==null||c==null){
a="0";
b="0";
c="0";
}
if(a.length()>0&&b.length()>0&&c.length()>0){
%>
<computer:GetArea sideA="<%=a %>" sideB="<%=b %>" sideC="<%=c %>" />
<%
NumberFormat f=NumberFormat.getInstance();
f.setMaximumFractionDigits(3);
double result=area.doubleValue();
String str=f.format(result);
out.println(str);
} %>
</form>
</body>
</html>
六位小数 f.setMaximumFractionDigits(6);
Area.tag:(计算三角形面积)
<%@ tag pageEncoding="gb2312" %>
<%@ attribute name="sideA" required="true" %>
<%@ attribute name="sideB" required="true" %>
<%@ attribute name="sideC" required="true" %>
<%@ variable name-given="area" variable-class="java.lang.Double" scope="AT_END" %>
<%
double a=Double.parseDouble(sideA);
double b=Double.parseDouble(sideB);
double c=Double.parseDouble(sideC);
if(a+b>c&&a+c>b&&c+b>a){
double p=(a+b+c)/2.0;
double area=Math.sqrt(p*(p-a)*(p-b)*(p-c));
jspContext.setAttribute("area",new Double(area));
}
else{
jspContext.setAttribute("area",new Double(-1));
}
%>