當試圖運行這個時,我的const在 從double轉換爲int時變得四捨五入。有沒有辦法避免發生四捨五入?當轉換爲int時,double如何舍入?
const double ACTIVTY_LEVEL1 = 1.2;
const double ACTIVTY_LEVEL2 = 1.375;
const double ACTIVTY_LEVEL3 = 1.55;
const double ACTIVTY_LEVEL4 = 1.725;
const double ACTIVTY_LEVEL5 = 1.9;
int activityLevel = lstActivityLevel.SelectedIndex;
switch (activityLevel)
{
case 0:
activityLevel = Convert.ToInt32(ACTIVTY_LEVEL1);
break;
case 1:
activityLevel = Convert.ToInt32(ACTIVTY_LEVEL2);
break;
case 2:
activityLevel = Convert.ToInt32(ACTIVTY_LEVEL3);
break;
case 3:
activityLevel = Convert.ToInt32(ACTIVTY_LEVEL4);
break;
case 4:
activityLevel = Convert.ToInt32(ACTIVTY_LEVEL5);
break;
}
怎麼會當轉換爲int的雙重不進行四捨五入? – dbugger
很顯然,你不能在一個整型變量中有一個浮點數。如果你想保持浮動部分,爲什麼你把它轉換爲int ?! –
你甚至期望在這裏發生什麼?這是一個整數。令人驚訝的是,它沒有一個小數部分o.0 –