1

我有一个输入信息的表格,以及一个用于男性或女性的部分的下拉框。(根据 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>

我是否需要转换十进制答案以便代码可以将其视为十进制?即使他们已经是!

4

2 回答 2

1

最好的方法是使用十进制显式声明您的“sexValue”变量。示例:十进制 sexValue = sexfactor == "M" ?1.23M:1.04M;并指定 M(million),这样它就可以确定它是一个十进制值。我只在需要时使用 var,因为显式声明变量会使代码至少更具人类可读性。

于 2012-07-05T11:48:59.277 回答
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>
于 2012-07-05T11:53:20.730 回答