使用此代码:
totalPriceCell.Value2 = TotalPrice;
...我得到了像“3.14963245”这样的价值,而我想要的是“3.15”。
所以我使用了这段代码:
totalPriceCell.Value2 = TotalPrice.ToString("#.##");
...这确实解决了那个问题,但我仍然得到诸如“7.6”和“35”之类的值(我想成为“7.60”和“35.00”)
除了手动为“7.6”之类的val附加“0”并为“35”之类的值手动附加“.00”外,我该怎么做才能完成此操作?
Niether的建议既有效,也没有:
totalPriceCell.Value2 = TotalPrice.ToString("F2");
......也不是这样:
totalPriceCell.Value2 = Math.Round(TotalPrice, 2).ToString("F2");
我仍然得到“7.6”等:
事实证明这是一个Excel问题,因为我添加了这个:
MessageBox.Show(Math.Round(TotalPrice, 2).ToString("F2"));
......我确实看到了诸如“7.60”(不是“7.6”)之类的值。
答案 0 :(得分:2)
看起来您正在尝试将数字四舍五入到小数点后两位,然后然后输出尾随0的答案。
只需使用Math.Round()
功能进行舍入,然后使用.ToString("F2")
格式显示:
totalPriceCell.Value2 = Math.Round(TotalPrice, 2).ToString("F2");
Math.Round(arg1, arg2)
:第一个参数(arg1)是您要舍入的值,第二个参数(arg2)是您希望的小数位数转到。
.ToString("F2")
:使用"F2"
- F 作为"定点"格式指定; 2 是小数点后的位数。
希望这会有所帮助:)
答案 1 :(得分:0)
您可以使用#.00格式。
答案 2 :(得分:0)
因为它是Excel,我不得不告诉范围/单元格如何表现,如下:
totalPriceCell.NumberFormat = "#,##0.00";