1樓:高中數學知識課堂
用format()函式,即可解決。例如:
cstring str;
double dnum = 1.0;
str.format("dnum = %f", dnum);
記得是這樣的。希望有幫助
c++ mfc cstring怎麼轉換成double
2樓:輕煙談生活
1、開啟編寫c語言的軟體codeblocks。
2、建立一個編寫c語言的檔案。
3、接下來開始編寫程式,首先是準備轉換中需要用到的變數和常量。
4、接著是使用clrscr函式限定開始轉換,並且給value賦值為自己想要轉換的double型資料。
5、再然後就是使用ecvt函式開始進行轉換,並且將轉換的結果付給字元陣列string。
6、接著就是使用printf函式輸出用於接收value值的字串string。
7、最後可以在控制檯上看到輸出的結果,正式value的值,不過這個值程式設計字串格式了。
3樓:匿名使用者
在mfc程式中,可以使用format方法方便的實現int、float和double等數字型別轉換為cstring字串。以下是cstring的format支援的格式說明:
%c 單個字元
%d 十進位制整數(int)
%ld 十進位制整數(long)
%f 十進位制浮點數(float)
%lf 十進位制浮點數(double)
%o 八進位制數
%s 字串
%u 無符號十進位制數
%x 十六進位制數
1、int轉換為cstring
cstring str;
int number=15;
//str="15"
str.format(_t("%d"),number);
//str=" 15"(前面有兩個空格;4表示將佔用4位,如果數字超過4位將輸出所有數字,不會截斷)
str.format(_t("%4d"),number);
//str="0015"(.4表示將佔用4位,如果數字超過4位將輸出所有數字,不會截斷)
str.format(_t("%.4d"),number);
long轉換為cstring的方法與上面相似,只需要把%d改為%ld就可以了。
2、double轉換為cstring
cstring str;
double num=1.46;
//str="1.46"
str.format(_t("%lf"),num);
//str="1.5"(.1表示小數點後留1位,小數點後超過1位則四捨五入)
str.format(_t("%.1lf"),num);
//str="1.4600"
str.format(_t("%.4f"),num);
//str=" 1.4600"(前面有1個空格)
str.format(_t("%7.4f"),num);
float轉換為cstring的方法也同上面相似,將lf%改為f%就可以了。
3、將十進位制數轉換為八進位制
cstring str;
int num=255;
//str="377"
str.format(_t("%o"),num);
//str="00000377"
str.format(_t("%.8o"),num);
2.cstring轉化為double型
atof()
4樓:匿名使用者
1、首先要確定你的工程字符集用的是多位元組而不是unicode才能用下面的方法, 因為vs2008/2010預設使用的是unicode編碼. 修改方式為: 在解決方案視窗右鍵工程名-->屬性->general項(我用的是英文的)-->字符集, 選擇多位元組那個就行了
2、例程:
cstring str;
轉成int: ;int a = atoi(str.getbuffer());
轉成double: double b = atof(str.getbuffer());
// 如果堅持要用unicode的話, 就用下面兩個函式:
轉成int: ;int a = _wtoi(str.getbuffer());
轉成double: double b = _wtof(str.getbuffer());
5樓:匿名使用者
1:可以為控制元件關聯一個double型別變數,然後updatedata(false
)2;或者樓上函式double d=_wtof(a.getbuffer(0))
6樓:匿名使用者
例如cstring temp = _t("1.234");
如何轉換成浮點1.234
#include
int main()
p=a/365;
for(int i=1;i<=70;i++)return 0;}
7樓:匿名使用者
檢查一下有沒有
#include
和#include
這兩個標頭檔案。
8樓:飛天
double _wtof(
const wchar_t *str
);用這個試試。你用的不是vc6.0吧?
mfc中如何吧cstring型別轉換為double或int型??
9樓:匿名使用者
修改方式為: 在解決方案視窗右鍵工程名-->屬性->general項(我用的是英文的)-->字符集, 選擇多位元組那個就行了。
1、轉成int:int a = atoi(str.getbuffer());
2、轉成double:double b = atof(str.getbuffer())。
cstring 是一種很有用的資料型別。它們很大程度上簡化了mfc中的許多操作,使得mfc在做字串操作的時候方便了很多。不管怎樣,使用cstring有很多特殊的技巧,特別是對於純c背景下走出來的程式設計師來說有點難以學習。
mfc是微軟基礎類庫的簡稱,是微軟公司實現的一個c++類庫,主要封裝了大部分的windows api函式,並且包含一個應用程式框架,以減少應用程式開發人員工作量。vc++是微軟公司開發的c/c++的整合開發環境,所謂整合開發環境,就是說利用它你可以編輯,編譯,除錯,而不是使用多種工具輪換操作,靈活性較大。有時人們說vc呢也指它的內部編譯器,整合開發環境必須有一個編譯器核心,要不有什麼用,例如devc++其中一個編譯器核心就是gcc。
mfc除了是一個類庫以外,還是一個框架,你應該試過,在vc++裡新建一個mfc的工程,開發環境會自動幫你產生許多檔案,同時它使用了mfcxx.dll。xx是版本,它封裝了mfc核心,所以你在你的**看不到原本的sdk程式設計中的訊息迴圈等等東西,因為mfc框架幫你封裝好了,這樣你就可以專心的考慮你程式的邏輯,而不是這些每次程式設計都要重複的東西,但是由於是通用框架,沒有最好的針對性,當然也就喪失了一些靈活性和效率但是mfc的封裝很淺,所以效率上損失不大,靈活性還可以,雖然也有很多缺陷,但還是一個比較好的東西。
10樓:匿名使用者
首先你要確定你的工程字符集用的是多位元組而不是unicode才能用下面的方法, 因為vs2008/2010預設使用的是unicode編碼. 修改方式為: 在解決方案視窗右鍵工程名-->屬性->general項(我用的是英文的)-->字符集, 選擇多位元組那個就行了
cstring str;
轉成int: ;int a = atoi(str.getbuffer());
轉成double: double b = atof(str.getbuffer());
// 如果你堅持要用unicode的話, 你就用下面兩個函式:
轉成int: ;int a = _wtoi(str.getbuffer());
轉成double: double b = _wtof(str.getbuffer());
11樓:匿名使用者
先(lpctstr)你的cstring,然後atof或者atoi它,前提是你的cstring必須是有效的double或者int。
12樓:匿名使用者
char *s; double x; int i; long l;
s = " -2309.12e-15"; /* test of atof */
x = atof( s );
printf( "atof test: ascii string: %s\tfloat: %e\n", s, x );
這是msdn上關於ascii的一個例子,相信可以幫助到你了吧
假如mfc中怎麼把double型的陣列轉換成字串形式?
13樓:匿名使用者
cstring str;
str.format("%lf", 1.2345);
或者double f= 123.4121;
char szbufffer[20];
sprintf(szbuffer, "%lf", f);
14樓:匿名使用者
double data;
cstringarray array;
cstring temp;
int len=sizeof(data)/size(double);
array.setsize(len);
for(int i=0;i 在mfc中,怎麼將cstringarray型別轉換成cstring 15樓:我的美我的行 cstring in_str; cstringarray out_str_ary; 1.cstringarray轉 cstring: int index=out_str_ary.getsize(); for(int i=0;i out_str_ary.add(in_str); 或者lpctstr str = in_str; //強制型別轉換,cstring轉換為char* out_str_ary.add(lpctstr str); 怎麼把int型或float或double型中的內容轉到cstring型 vc++mfc
20 16樓:vc程式設計師 int i = 119; float f = 119.119; double d = 110.110; cstring str; str.format("int:%d float:%.4f double:%.4f", i, f, d); afxmessagebox(str); 17樓: cstring num; int a=1; float b=2; num.format(\"%d\",a);//由int轉換num.format(\"%f\",b); //由float轉換 include locale cstdiofile f cstring str if f.open m filename,cfile moderead cfile typetext f.close setdlgitemtext idc button1,str mfc一個按鈕功能為讀取txt中的資料,... 動態建立標頭檔案中宣告 cedit m edits cpp檔案的oninitdialog函式中 m edits new cedit 50 for int i 0 i 50 i 程式執行結束時 for int i 0 i 50 i 不過這種情況只適合你所有的edit控制元件在對話方塊上的位置都是按規律... 1 首bai先開啟ps,然後開啟一du張rgb模式的彩色圖zhi片,如圖所示 2 點選上方菜dao單欄中的 圖內像 然後選擇 模容式 選項中的 灰度 3 此時軟體會詢問是否扔掉顏色資訊,確定即可4 回到主介面,可以看到已經把rgb改為點陣圖了 1.ps中 在rgb情況下模式中的點陣圖是灰色的,不能直...mfc中在button函式裡怎麼實現讀取中的內容
MFC中怎麼在狀態列中加入靜態文字控制元件和編輯框控制元件
ps中怎麼把rgb改為點陣圖,PS中怎麼把RGB改為點陣圖