我试着写一些东西让我的图像正确显示.我有2个号码"breedtePlaatje"和"hoogtePlaatje".当我加载那些带有值的2个变量时,我得到"800"和"500",我希望"verH"为(500/800)= 0,625.那个verH = 0的值.
这是代码:
int breedtePlaatje = Convert.ToInt32(imagefield.Width);
int hoogtePlaatje = Convert.ToInt32(imagefield.Height);
//Uitgaan van breedte plaatje
if (breedtePlaatje > hoogtePlaatje)
{
double verH = (hoogtePlaatje/breedtePlaatje);
int vHeight = Convert.ToInt32(verH * 239);
mOptsMedium.Height = vHeight;
mOptsMedium.Width = 239;
//Hij wordt te klein en je krijgt randen te zien, dus plaatje zelf instellen
if (hoogtePlaatje < 179)
{
mOptsMedium.Height = 179;
mOptsMedium.Width = 239;
}
}
Run Code Online (Sandbox Code Playgroud)
关于我的方法的任何提示都很可爱.
Arv*_*rve 11
将int除以int得到一个int.
double verH = (hoogtePlaatje/breedtePlaatje);
Run Code Online (Sandbox Code Playgroud)
赋值的右侧是整数值.
将breedtePlaatje和/或hoogtePlaatje改为加倍,您将得到您期望的答案.
整数除法将导致返回整数作为除法结果.
您需要将除法的一个参数设置为浮点数,以使结果成为浮点数.您可以通过将其中一个转换为浮点数来完成此操作.
double verH = (double)hoogtePlaatje/breedtePlaatje;
Run Code Online (Sandbox Code Playgroud)
要么
double verH = hoogtePlaatje/(double)breedtePlaatje;
Run Code Online (Sandbox Code Playgroud)
有关除法的信息,请参阅C#规范.
| 归档时间: |
|
| 查看次数: |
10642 次 |
| 最近记录: |