1 c# line multiplication division
我有这行代码:
int WStoneCost = PriceMethod.StoneCost / 100 * AP;
Run Code Online (Sandbox Code Playgroud)
虽然PriceMethod.StoneCost等于25且AP等于70.我已经使用断点检查了它,我无法理解为什么在运行此行后我得到零.(WStoneCost等于零)它只是一个错误的符号还是我做错了什么?提前致谢.如何在最后获得正确的双倍?像17. 5
你正在做整数除法,所以25/100是0,不是0.25,因此0 * 70是0.由于您的结果变量也是一个int不清楚您期望的结果,但您可以重新排序操作以得到非零答案:
int WStoneCost = (PriceMethod.StoneCost * AP)/ 100 ;
Run Code Online (Sandbox Code Playgroud)
它仍然是整数除法,但你的输入将25*70(1,750)除以100,这将给你17.
如果你想要一个浮点小数结果,只需使用100m:
decimal WStoneCost = (PriceMethod.StoneCost * AP)/ 100m ;
Run Code Online (Sandbox Code Playgroud)
由于文字100m是a decimal,编译器将使用浮点十进制除法,这将给你一个decimal结果.
| 归档时间: |
|
| 查看次数: |
308 次 |
| 最近记录: |