我认为有很多东西要学习数据类型.为什么会这样
double result = ((3/8)*100).ToString();
Run Code Online (Sandbox Code Playgroud)
它给零..应该是37,5 ...... :(
Bur*_*ard 12
3/8执行整数除法,结果为0
double result = ((3.0/8)*100);
Run Code Online (Sandbox Code Playgroud)
应该这样做.
顺便说一句,如果你这样做((3.0/8)*100).ToString()你得到一个字符串而不是一个双.
您需要说服编译器执行浮点除法:
double result = (((double)3/8)*100);
Run Code Online (Sandbox Code Playgroud)
否则它执行整数除法,然后 3/8 为零。
| 归档时间: |
|
| 查看次数: |
834 次 |
| 最近记录: |