2012-04-04 38 views
0

您好IM編碼存儲在一個int在C++中,我需要一些幫助,轉換雙爲int。 需要什麼才能從雙倍(即3.5945)「3」中獲得第一個數字。 並將該數字放入一個int。獲得第一個數字上雙,並C++

我現在使用的static_cast和它返回一個0

double X = 3.1234; 
double Y = 4.3455; 

int myIntX = static_cast <int>(X); 
int myIntY = static_cast <int>(Y); 

cout << myIntX << endl; 
cout << myIntY << endl; 

輸出....

+4

請提供重現你的問題的例子。這一個不:http://ideone.com/zOlRz – 2012-04-04 14:39:31

+0

您粘貼的代碼沒有你的錯誤。該錯誤必須在您*未粘貼的代碼中。請製作**短**,**完整**示例程序來證明問題。見http://sscce.org – 2012-04-04 14:40:17

+0

我的雙號其實這是....不知道這意味着什麼3.89082e-316 我的程序是相當大的和雙和int變量是類中。 – 2012-04-04 14:46:07

回答

0

試試這個:

double x=3.1234; 
int myintx=(int)x; 

while(myintx%10!=0) 
myintx/=10; 

cout<<myintx; 

這會給你你的雙倍的第一位數字作爲整數。