我怎样才能得到不多于不少于小数点后两位的十进制值?
How can I get no more and no less than two decimal places in a decimal value?
使用此代码:
totalPriceCell.Value2 = TotalPrice;
...我得到的值是“3.14963245”,我想改为“3.15”。
所以我使用了这段代码:
totalPriceCell.Value2 = TotalPrice.ToString("#.##");
...这确实解决了 那个 问题,但我仍然得到诸如“7.6”和“35”之类的值(我想是“7.60”和“ 35.00")
除了为“7.6”等值手动附加“0”并为“35”等值手动附加“.00”之外,我还能做些什么来完成此操作?
更新
没有一个建议奏效,这个也没有:
totalPriceCell.Value2 = TotalPrice.ToString("F2");
...也不是这个:
totalPriceCell.Value2 = Math.Round(TotalPrice, 2).ToString("F2");
我仍然得到“7.6”等等:
更新 2
原来是Excel的问题,因为我加的时候:
MessageBox.Show(Math.Round(TotalPrice, 2).ToString("F2"));
...我确实看到了诸如“7.60”(而不是“7.6”)之类的值。
您可以改用#.00 格式。
您似乎在尝试将数字四舍五入到小数点后两位,然后然后输出尾随 0 的答案。
直接用Math.Round()
函数取整,然后用.ToString("F2")
格式显示:
totalPriceCell.Value2 = Math.Round(TotalPrice, 2).ToString("F2");
Math.Round(arg1, arg2)
:第一个参数 (arg1) 是您要舍入的值,第二个参数 (arg2) 是您希望四舍五入的小数位。
.ToString("F2")
:"F2"
的用法-F是指定的"fixed-point"格式; 2是小数点后的位数。
希望这对您有所帮助:)
因为它是 Excel,所以我必须告诉 range/cell 确切的行为方式,如下所示:
totalPriceCell.NumberFormat = "#,##0.00";
使用此代码:
totalPriceCell.Value2 = TotalPrice;
...我得到的值是“3.14963245”,我想改为“3.15”。
所以我使用了这段代码:
totalPriceCell.Value2 = TotalPrice.ToString("#.##");
...这确实解决了 那个 问题,但我仍然得到诸如“7.6”和“35”之类的值(我想是“7.60”和“ 35.00")
除了为“7.6”等值手动附加“0”并为“35”等值手动附加“.00”之外,我还能做些什么来完成此操作?
更新
没有一个建议奏效,这个也没有:
totalPriceCell.Value2 = TotalPrice.ToString("F2");
...也不是这个:
totalPriceCell.Value2 = Math.Round(TotalPrice, 2).ToString("F2");
我仍然得到“7.6”等等:
更新 2
原来是Excel的问题,因为我加的时候:
MessageBox.Show(Math.Round(TotalPrice, 2).ToString("F2"));
...我确实看到了诸如“7.60”(而不是“7.6”)之类的值。
您可以改用#.00 格式。
您似乎在尝试将数字四舍五入到小数点后两位,然后然后输出尾随 0 的答案。
直接用Math.Round()
函数取整,然后用.ToString("F2")
格式显示:
totalPriceCell.Value2 = Math.Round(TotalPrice, 2).ToString("F2");
Math.Round(arg1, arg2)
:第一个参数 (arg1) 是您要舍入的值,第二个参数 (arg2) 是您希望四舍五入的小数位。
.ToString("F2")
:"F2"
的用法-F是指定的"fixed-point"格式; 2是小数点后的位数。
希望这对您有所帮助:)
因为它是 Excel,所以我必须告诉 range/cell 确切的行为方式,如下所示:
totalPriceCell.NumberFormat = "#,##0.00";