下面的计算结果应该是 33.3333333 的值,但是在显示该值时,我没有在消息框中得到正确的输出。
这里有什么需要先完成的格式化吗?
decimal result = (1/3)*100;
MessageBox.Show(result.ToString());
您正在使用整数执行计算,因此结果是 anint
并转换为decimal
赋值。因为1/3
已经0
(在int
算术中)乘以它100
并不会改变任何东西。
改用小数:
decimal result = (1m / 3m) * 100m;
数字文字的m
后缀使其成为小数。
纳入Kay Zed的评论:
如果您正在处理变量而不是文字,您可以强制转换:
decimal result = ((decimal)a / (decimal)b) * 100m;