MFC中怎麼可以把double轉成cstring

2022-02-27 15:04:05 字數 5750 閱讀 5384

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轉換

mfc中在button函式裡怎麼實現讀取中的內容

include locale cstdiofile f cstring str if f.open m filename,cfile moderead cfile typetext f.close setdlgitemtext idc button1,str mfc一個按鈕功能為讀取txt中的資料,...

MFC中怎麼在狀態列中加入靜態文字控制元件和編輯框控制元件

動態建立標頭檔案中宣告 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控制元件在對話方塊上的位置都是按規律...

ps中怎麼把rgb改為點陣圖,PS中怎麼把RGB改為點陣圖

1 首bai先開啟ps,然後開啟一du張rgb模式的彩色圖zhi片,如圖所示 2 點選上方菜dao單欄中的 圖內像 然後選擇 模容式 選項中的 灰度 3 此時軟體會詢問是否扔掉顏色資訊,確定即可4 回到主介面,可以看到已經把rgb改為點陣圖了 1.ps中 在rgb情況下模式中的點陣圖是灰色的,不能直...