Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

請教一個MFC資料型態的問題??

0 views
Skip to first unread message

喜歡香菇的男孩!!

unread,
Aug 28, 2001, 3:24:37 PM8/28/01
to
我現在遇到的問題是要把float資料型態轉成CString型態(MFC的衍生型態)
而我要浮點數轉成字串的目的是我需要一個可變的字串
例如
"rate=0.xxx" (0.xxx由使用者輸入)
我想法是把它分成前面是字串"rate="再把後面的浮點數0.xxx變成字串後
兩個字串相加後便大功告成!!

所以我使用強制轉換,程式如下:
float a;
CString chData = (CString)a;

但compile之後出現這樣的訊息
=>conversion from 'float' to 'char', possible loss of data

經由測試後,chData的字串並不是我所期望的(出現奇怪的字~~)

到底該怎麼做呢??是不是有更好的方法啊~~
請各位高手不吝指教~~小弟非常感激~~
--
心若改變......你的態度跟著改變
態度改變......你的習慣跟著改變
習慣改變......你的性格跟著改變
性格改變......你的人生跟著改變
--
[1;31mO [1;32mr [1;33mi [1;34mg [1;35mi [1;36mn [1;31m: [1;36m<不良牛牧場> [1;33mzoo.ee.ntu.edu.tw [1;32m(140.112.18.36) [m
[1;32mWelcome to SimFarm BBS [1;36m-- [m [1;31mFrom : [ [msj27-9.dialup.seed.net.tw [1;31m] [m

一起走吧!

unread,
Aug 28, 2001, 11:07:06 PM8/28/01
to
※ 引述《askach...@zoo.ee.ntu.edu.tw (喜歡香菇的男孩!!)》之銘言:

> float a;
> CString chData = (CString)a;

CString chData;
chData.Format("%f", a);
--
[1;32m┌───── [33m◆ [37mKKCITY [33m◆ [32m─────┐ [34m┐┌┐┐┌┐┌─┐┌┬┐┌┬┐┐ ┌ [m
[1;32m│ [31m bbs.kkcity.com.tw [32m│ [37m├┘┐├┘┐│ │ │ └┬┘ [m
[1;32m└── [34m《 [0;37mFrom:* [1;34m》 [32m──┘ [36m┘ ┘┘ ┘└─┘└┴┘ ┴ ┴ [m

喜歡香菇的男孩!!

unread,
Aug 29, 2001, 2:48:56 AM8/29/01
to
※ 引述《sain...@kkcity.com.tw (一起走吧!)》之銘言:
: ※ 引述《askach...@zoo.ee.ntu.edu.tw (喜歡香菇的男孩!!)》之銘言:

: > float a;
: > CString chData = (CString)a;
: CString chData;
: chData.Format("%f", a);
真是太謝謝你了~~
這個方法決解我的問題了~~~

--
心若改變......你的態度跟著改變
態度改變......你的習慣跟著改變
習慣改變......你的性格跟著改變
性格改變......你的人生跟著改變
--
[1;31mO [1;32mr [1;33mi [1;34mg [1;35mi [1;36mn [1;31m: [1;36m<不良牛牧場> [1;33mzoo.ee.ntu.edu.tw [1;32m(140.112.18.36) [m

[1;32mWelcome to SimFarm BBS [1;36m-- [m [1;31mFrom : [ [mswtp22-12.adsl.seed.net.tw [1;31m] [m

豆子哥

unread,
Aug 28, 2001, 3:57:49 PM8/28/01
to
※ 引述《askach...@zoo.ee.ntu.edu.tw (喜歡香菇的男孩!!)》之銘言:

> 我現在遇到的問題是要把float資料型態轉成CString型態(MFC的衍生型態)
> 而我要浮點數轉成字串的目的是我需要一個可變的字串
> 例如
> "rate=0.xxx" (0.xxx由使用者輸入)
> 我想法是把它分成前面是字串"rate="再把後面的浮點數0.xxx變成字串後
> 兩個字串相加後便大功告成!!
> 所以我使用強制轉換,程式如下:
> float a;
> CString chData = (CString)a;
> 但compile之後出現這樣的訊息
> =>conversion from 'float' to 'char', possible loss of data
> 經由測試後,chData的字串並不是我所期望的(出現奇怪的字~~)
> 到底該怎麼做呢??是不是有更好的方法啊~~
> 請各位高手不吝指教~~小弟非常感激~~

我記得沒錯的話…

CString 有個format的方法,用法如同 sprintf 的作法

你可以試一試。

chData.Format("%f",a);
好久沒用了,不知有沒有打錯…~~
--
[m※ Origin: 雲林科技大學藍天使 <bbs.yuntech.edu.tw> [From: 140.125.194.20]

0 new messages