C#中的算术运算
回答
1
,2
和100
,在你的例子中,都是int
文字。在C#中,整数除法返回整数,并忽略余数。只有计算1/2(= 0),乘以100(= 0)不结果转换为:double
(1.0/2) * 100
后,将给予预期的结果,因为现在1.0
是double
文字,并迫使其他文字在执行计算之前也要转换为double
。
1/2 = 0
这是整数除法。
尝试1.0/2
,或为什么不double c = 50.0
直接)
使用此:(浮点)1 /(浮点)2。 1和2是整数。
尝试
double c = (1.0/2.0) * 100.0;
编辑:行动。 F是不必要的。 :(
为什么使用'F'类型后缀强制类型为'float',如果没有后缀,文字将是'double',并且匹配所需的最终结果类型? –
因为首先执行(1/2)是返回0的*整数*除法,则将0乘以100再次返回0。至少将0转换为double并分配给变量c。 –
我的意思是'1.0'是一个双字面意思。 '1.0F'是一个浮点文字。既然你要分配一个'double',为什么不把它整个加倍呢? –
我想你需要^
double c = (1/2) * 100;
Console.WriteLine(c);
它的结果:50
那就像原始代码一样? –
编译器会推断出类型1和2为System.Int32,不是双
double c = (1.0/2.0) * 100;
Console.WriteLine(c);
应该给你正确的结果
如果你想一个整数被视为双,使用后缀d或d
代码片段:
double d = (1d/2) * 100;
或
double d = (1/2d) * 100;
甚至
double d = (1d/2d) * 100;
- 1. 对数组中的算术运算C
- 2. 在C++中的算术运算
- 3. 算术运算
- 4. 算术运算
- 5. 算术运算
- 6. 算术运算
- 7. 算术运算
- 8. IndexedDB中的算术运算
- 9. XSLT中的算术运算
- 10. CSH算术运算
- 11. BCD算术运算
- 12. 算术运算符
- 13. 算术运算时间用C
- 14. 如果运算符为C++算术
- 15. C++算术运算符错误
- 16. C编程!算术运算符操作
- 17. 算术运算的JavaScript
- 18. 无效的算术运算
- 19. Smarty的算术运算
- 20. 合金中的算术运算
- 21. JADE中的算术运算符
- 22. 用户表单中的算术运算
- 23. Awk中的算术运算符无效
- 24. R中的时间戳算术运算
- 25. ASM中的算术运算语言
- 26. Haskell中的字符算术运算
- 27. GWT中的算术运算评估
- 28. 在javascript中的顺序算术运算
- 29. linq中的算术运算符
- 30. 算术溢出与算术运
正确的,我很愚蠢男子) – Wachburn