1

小数点以下の桁数を表示するためのコスト値を取得できないようです。以下の値「100.00」のコードでは、「100」しか返されません

Session("TotalProductCost") = Convert.ToDecimal(Cost1) + Convert.ToDecimal(Cost2) + Convert.ToDecimal(Cost3) + Convert.ToDecimal(Cost4) + Convert.ToDecimal(Cost5)


Dim TotalProductAmt As Decimal
Decimal.TryParse(Session("TotalProductCost"), TotalProductAmt)
Dim Res As Decimal =  TotalProductAmt
TotalAmount = TotalProductAmt.ToString()
TotalAmount = Res.ToString
4

1 に答える 1

3

ToString の結果に常に小数点以下 2 桁を含めたい場合は、ToString にそれを伝える必要があります。次のように、ToString に期待する結果の種類を伝える文字列パラメーターを渡すことができます。

TotalAmount = Res.ToString("F2")

上記はToStringに「結果を小数点以下2桁に固定したい」と伝えています。値 1000 を渡すと、返される文字列は "1000.00" になります。

または、1000 が "1,000.00" になるように数字をグループ化する場合 (または、居住国に応じて他のグループ化システム)、"N2" をパラメーターとして ToString に渡すことができます。

TotalAmount = Res.ToString("N2")

ToString に渡すことができるこの文字列形式およびその他の文字列形式の詳細については、MSDN ドキュメントを参照してください。

Visual Studio が "100D" を表示している理由については、D は (整数などではなく) 10 進数の値を見ていることを意味します。

于 2013-07-24T14:28:44.353 に答える