1樓:匿名使用者
這是因為edit1為空,或輸入非法產生的。
可以用trystrtoint,也可以用atoiint i1;
i1 = atoi(edit1->text.c_str());
轉換不成功,在除錯的時候不會提示出錯資訊,只會返回結果0.
但用trystrtoint會較好些。
它會返回一個是否成功的轉換狀態。
2樓:
//edit1->text中的值必須是能夠轉化為整數型別的字串,否則會出錯,改一下:
int i1;
trystrtoint(form2->edit1->text,i1);
3樓:匿名使用者
strtoint(form2->edit1->text);
這個寫法本身沒有問題,問題在於你輸入的資料是否可以正常轉換為int型資料。
在做這種轉換前最好先做差錯控制,例如用try來先判斷一下!
4樓:匿名使用者
cb風格的:
int i1 = this->edit1->text.tointdef(0);
5樓:暖暖
strtoint(edit1->text)
6樓:匿名使用者
edit1.text.toint();
c++中string型別如何轉換成int型別
7樓:匿名使用者
c++中string到int的轉換有兩種方法:
1、 在c標準庫裡面,使用atoi:
#include
#include
std::string text = "152";
int number = std::atoi( text.c_str() );
if (errno == erange) //可能是std::errno
else if (errno == ????)//可能是einval
2、 在c++標準庫裡面,使用stringstream:(stringstream 可以用於各種資料型別之間的轉換)
#include
#include
std::string text = "152";
int number;
std::stringstream ss;
ss << text;//可以是其他資料型別ss >> number; //string -> intif (! ss.good())
ss << number;// int->stringstring str = ss.str();
if (! ss.good())
8樓:匿名使用者
int_tmp = atoi(str_tmp.c_str());
9樓:匿名使用者
可以用int nresult;
if (nresult!=1)
這樣可以判斷是否轉換成功。
10樓:匿名使用者
沒有的時候就自己寫一個啊,幹嗎總是等著別人寫好的?
c++ builder中如何把unsigned char型別轉換成16進位制的輸出
11樓:匿名使用者
我的輸出是:
不知道是不是湊巧,因為只做了int轉換。
還有一種形式你可以試試:
這裡的%x是一十六進位制輸出整型變數。
12樓:匿名使用者
unsigned char 表示的整數從0x0000~0xffff 假如unsigned char 型變數t,直接用t/10000 求其萬位。 以此類推
c語言資料型別的轉換C語言資料型別的轉換
讓我來說說這個問題吧。一.自動轉換 自動轉換遵循以下規則 1 若參與運算量的型別不同,則先轉換成同一型別,然後進行運算。2 轉換按資料長度增加的方向進行,以保證精度不降低。如int型和long型運算時,先把int量轉成long型後再進行運算。a.若兩種型別的位元組數不同,轉換成位元組數高的型別 b....
char資料型別與數值型別之間的轉換什麼是資料型別?什麼是數值型別
char資料型別與數值型別的整型是互通的,他們在記憶體中儲存的本質是相同的,只是儲存的範圍不同。char資料型別佔1個儲存位元組,整型可佔2 4 8位元組。資料型別指的是資料的儲存方式,包括所佔記憶體空間的大小,取值範圍及其可進行的操作等。數值型別指的是表示數量 可以進行數值運算的資料型別。在c語言...
c語言資料型別問題,C語言資料型別如何轉換
你這答案有點問題哦,前邊兩個元素是陣列,int和float都是四位元組,char是一個位元組,總共 4 3 4 16 44位元組,如果我算錯了你告訴我,我也學學 c語言資料型別如何轉換?不是有強制型別 轉換嗎?強制型別轉換 強制型別轉換 當運算元的型別不同,而且不屬於基本資料型別時,經常需要強制型別...