为什么这个表达式给我输出零?
@RequestMapping(value = "/inventario/",consumes = MediaType.APPLICATION_JSON,
method = RequestMethod.POST)
public ResponseEntity<Void> insereItem(@RequestBody Item item){...}
将其分为两部分,给出正确的结果:
float x = ((1000)/(24 * 60 * 60));
答案 0 :(得分:3)
声明
float x = ((1000)/(24 * 60 * 60));
执行以下操作:
x
类型的变量float
。((1000)/(24 * 60 * 60))
。
24*60*60
,即86400。1000/86400
为0。x
。在第二步中,((1000)/(24 * 60 * 60))
为零 - 除法是整数除法,因为两个操作数都是整数。事后将结果分配给浮点变量这一事实没有任何区别。
最简单的解决方法是确保除法的任一侧是浮点数,因此它将使用浮点除法。例如,您可以将1000
更改为1000.0f
。
答案 1 :(得分:0)
看到这个答案,它会给你正确的输出
#include <stdio.h>
int main(void) {
float x = (float)1000/(24 * 60 * 60);
printf("%f",x);
return 0;
}
输出:0.011574 输出也可以看出:http://ideone.com/6bMp9r