字符串的十进制值

yon*_*236 1 c# .net-2.0 winforms

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

是否有任何格式需要先在这里完成?

decimal result = (1/3)*100;
MessageBox.Show(result.ToString());
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Joe*_*oey 7

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

改为使用小数:

decimal result = (1m / 3m) * 100m;
Run Code Online (Sandbox Code Playgroud)

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

加入了Kay Zed的评论:

如果您正在处理变量而不是文字,您可以投射:

decimal result = ((decimal)a / (decimal)b) * 100m;
Run Code Online (Sandbox Code Playgroud)

  • 在这种情况下你应该施放:十进制结果=((十进制)a/b)*100; (2认同)