如何用c#实现四则运算?

redhcy2010 2009-11-28 05:41:21
各位好!
我在程序里写

rate = 1/(1+2+2)*100;

然后将rate转为字符串输出后变成是0..

这是怎么回事啊?
难道上面的计算书写有问题吗?
...全文
141 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
redhcy2010 2009-11-28
  • 打赏
  • 举报
回复
搞定了,用System.Math.Round搞定,谢谢各位,给分!
fuda_1985 2009-11-28
  • 打赏
  • 举报
回复
设置精度刻度试试,应该是能自动四舍的,不行就自己写吧。
redhcy2010 2009-11-28
  • 打赏
  • 举报
回复
好人再帮帮忙啊!
我把它们转为double计算后,有时会得出33.333333这类数字;
想四舍五入取整数,又如何处理啊?
luliming1112 2009-11-28
  • 打赏
  • 举报
回复
#include<stdio.h>
void main()
{
float a,b,c;
scanf("%f,%f",&a,&b);
c=a/b;
printf("%f",c);

}
~~~~~~~~~~~~~~~~
你自己试试,注意它的类型,中间用“,”分隔
polarissky 2009-11-28
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 redhcy2010 的回复:]
用rate = 1.0/(1+2+2)*100 真可以,谢谢!

那如果我是用变量来计算:
rate = hpin / ( hpin + zpin + cpin) * 100;
其中hpin,zpin,cpin都是正整数
该如何才能防止rate等于0,而等于正确的值啊?
[/Quote]
把hpin设为double类型
redhcy2010 2009-11-28
  • 打赏
  • 举报
回复
用rate = 1.0/(1+2+2)*100 真可以,谢谢!

那如果我是用变量来计算:
rate = hpin / ( hpin + zpin + cpin) * 100;
其中hpin,zpin,cpin都是正整数
该如何才能防止rate等于0,而等于正确的值啊?
fuda_1985 2009-11-28
  • 打赏
  • 举报
回复
程序有程序的规则,数学有数学的规则。
不要混为一团。
fuda_1985 2009-11-28
  • 打赏
  • 举报
回复
这是程序,不是数学。。
fuda_1985 2009-11-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 redhcy2010 的回复:]
为什么是0?1/5=0.2,0.2*100=20
1/(1+2+2)*100应该是20才对啊?


[/Quote]
你应该去看看基础书。整数做/是取整。
看三楼的办法,只要某一个数为浮点它才会取浮点数。
mohugomohu 2009-11-28
  • 打赏
  • 举报
回复
我还以为是逆波兰式
wuyi8808 2009-11-28
  • 打赏
  • 举报
回复
rate = 1.0/(1+2+2)*100;
redhcy2010 2009-11-28
  • 打赏
  • 举报
回复
为什么是0?1/5=0.2,0.2*100=20
1/(1+2+2)*100应该是20才对啊?

fuda_1985 2009-11-28
  • 打赏
  • 举报
回复
1/5值确实是0

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧