我有一个简单的程序,可以从浮点数值中计算出宽高比。例如,对于值1.77777779,该程序返回字符串"16:9"。我已在我的机器上测试过,它可以正常工作。
该程序如下:
public string AspectRatioAsString(float f)
{
bool carryon = true;
int index = 0;
double roundedUpValue = 0;
while (carryon)
{
index++;
float upper = index * f;
roundedUpValue = Math.Ceiling(upper);
if (roundedUpValue - upper <= (double)0.1 || index > 20)
{
carryon = false;
}
}
return roundedUpValue + ":" + index;
}
现在在另一台机器上,我得到完全不同的结果。所以在我的机器上,1.77777779 显示为 "16:9",但在另一台机器上显示为 "38:21"。