我是个新手,
今天在做个小东西的时候突然发现一个问题
为什么(double)(1/2) = 0
而(double)(2/1) = 2.0
为什么第一个表达式的值不能变成0.5呢?
希望各位说说为什么
------解决方案--------------------
因为(double)(1/2)先做1/2,这是整数运算,结果是0(舍掉小数后面的部分),然后再通过(double)把整数转换成double型。
------解决方案--------------------
想得出0.5,得这样
设置三个double变量
比如说double a,b,c;
b=1;
c=2;
a=b/c;
输出A为0.5