1

下面的计算结果应该是 33.3333333 的值,但是在显示该值时,我没有在消息框中得到正确的输出。

这里有什么需要先完成的格式化吗?

decimal result = (1/3)*100;
MessageBox.Show(result.ToString());

在此处输入图像描述

4

1 回答 1

7

您正在使用整数执行计算,因此结果是 anint并转换为decimal赋值。因为1/3已经0(在int算术中)乘以它100并不会改变任何东西。

改用小数:

decimal result = (1m / 3m) * 100m;

数字文字的m后缀使其成为小数。

纳入Kay Zed的评论:

如果您正在处理变量而不是文字,您可以强制转换:

decimal result = ((decimal)a / (decimal)b) * 100m;
于 2012-06-08T09:39:10.913 回答