我有一个输入信息的表格,以及一个部分的下拉框,即男性或女性。 (这取决于1.23或1.04的价值)我现在已经工作了,感谢这里的精彩思想!但这些数字的计算仍然存在问题。
@{
var total = 0m;
var totalMessage = "";
if (IsPost)
{
var age = Request["frmage"].AsInt(0);
var weight = Request["frmweight"].AsDecimal();
var SerCre = Request["frmSerCre"].AsDecimal();
var sexfactor = Request["frmGender"];
var sexValue = sexfactor == "M" ? 1.23 : 1.04;
total = Convert.ToDecimal ((((140 - age)*weight)* sexValue )/SerCre) ;
totalMessage = "Calculated creatinine clearance (ml/min)= " + total.ToString("0.00")+ sexValue ;
}
}
<form method="post">
<p>
<label for="text1">Age:</label>
<input type="text" name="frmAge" size="3" />Years
</p>
<p>
<label for="text2">Weight:</label>
<input type="text" name="frmWeight" />in Kg (1st = 6.35kg)
</p>
<p>
<label for="text3">Serum Creatinine:</label>
<input type="text" name="frmSerCre" />
μmol/L
</p>
<p>
<label for="text4">Gender:</label>
<select name="frmGender" id="select">
<option value="M">Male</option>
<option value="F">Female</option>
</select>
</p>
<p>
<input type="submit" value="Calculate" /></p>
</form>
<p>@totalMessage</p>
我是否需要转换小数答案,以便代码可以将其视为小数?即使它们已经存在!
答案 0 :(得分:1)
最好的方法是使用decimal显式声明'sexValue'变量。例: 十进制sexValue = sexfactor ==“M”? 1.23M:1.04M; 并且还指定M(百万),因此它将确定它是十进制值。我只在需要时才使用var,因为声明变量显然使代码至少更具人性化。
答案 1 :(得分:0)
var sexValue = sexfactor == "M" ? 1.23 : 1.04;
应该是:
var sexValue = sexfactor == "M" ? 1.23m : 1.04m;
两个值之后的'm'表明你正在处理小数。
===========================================
这是我的版本:
@{
ViewBag.Title = "TestButton";
var totalMessage = "";
if (IsPost)
{
var age = Request["frmage"].AsInt();
var weight = Request["frmweight"].AsDecimal();
var SerCre = Request["frmSerCre"].AsDecimal();
var sexfactor = Request["frmGender"];
var sexValue = sexfactor == "M" ? 1.23m : 1.04m;
var total = Convert.ToDecimal((((140 - age) * weight) * sexValue) / SerCre);
totalMessage = "Calculated creatinine clearance (ml/min)= " + (total + sexValue);
}
}
<form method="post">
<p>
<label for="text1">Age:</label>
<input type="text" name="frmAge" size="3" />Years
</p>
<p>
<label for="text2">Weight:</label>
<input type="text" name="frmWeight" />in Kg (1st = 6.35kg)
</p>
<p>
<label for="text3">Serum Creatinine:</label>
<input type="text" name="frmSerCre" />
μmol/L
</p>
<p>
<label for="text4">Gender:</label>
<select name="frmGender" id="select">
<option value="M">Male</option>
<option value="F">Female</option>
</select>
</p>
<p>
<input type="submit" value="Calculate" /></p>
</form>
<p>@totalMessage</p>