浮点计算错误

2 c#

在C#中

float ratio = 185 / srcRect.Width;
Run Code Online (Sandbox Code Playgroud)

哪里 srcRect.Width = 400

返回0它应该返回的地方0.45......

浮动的最小值是-3.40282347E+38如何可能的?

use*_*560 14

您正在执行整数除法,因此185/srcRect.Width将返回0.您需要将表达式更改为

float ratio = 185.0f / srcRect.Width;
Run Code Online (Sandbox Code Playgroud)