我似乎无法获得显示小数位的成本值。值“100.00”下面的代码只给我“100”当我调试Session的值(“总产品成本”)是100 D?
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
答案 0 :(得分:3)
如果希望ToString的结果总是包含两个小数位,则需要告诉ToString。您可以传递一个字符串参数,告诉ToString您期望的结果类型,如下所示:
TotalAmount = Res.ToString("F2")
上面告诉ToString“我希望结果固定到两个小数位”。如果您将值设为1000,则您获得的字符串将为“1000.00”。
或者,如果您还希望对数字进行分组,使得1000结果为“1,000.00”(或某些其他分组系统,具体取决于您所在的国家/地区),则可以将“N2”作为参数传递给的ToString:
TotalAmount = Res.ToString("N2")
有关此格式和其他字符串格式的详细信息,您可以传递给ToString,请参阅MSDN documentation。
至于为什么Visual Studio会向您显示“100D”,D表示您正在查看十进制值(而不是整数或其他)。