1

情報を入力するフォームと、男性または女性の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

これを行う最善の方法は、10 進数を使用して明示的に「sexValue」変数を宣言することです。例: 10 進数の sexValue = sexfactor == "M" ? 1.23M : 1.04M; また、M(million) を指定して、それが 10 進数であることを確実に認識できるようにします。変数を明示的に宣言すると、コードが少なくとも人間にとって読みやすくなるため、必要な場合にのみ var を使用します。

于 2012-07-05T11:48:59.277 に答える
0
var sexValue = sexfactor == "M" ? 1.23 : 1.04;

次のようにする必要があります。

var sexValue = sexfactor == "M" ? 1.23m : 1.04m;

2 つの値の後の「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 に答える