全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2130
推到 Plurk!
推到 Facebook!

FormatFloat("###,###",123456)之後的字串,要怎麼轉回float運算

答題得分者是:taishyang
renard
一般會員


發表:3
回覆:43
積分:24
註冊:2007-06-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2018-03-22 17:17:36 IP:220.130.xxx.xxx 未訂閱
double f1=1234567890;
AnsiString s=FormatFloat("###,###,###,###",f1);
ShowMessage(s);//"123,456,7890"

double f2=StrToFloatDef(s,0);
ShowMessage(FormatFloat("0.00",f2));//顯示0.00<-希望是顯示123456789.00
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2018-03-30 09:52:47 IP:60.250.xxx.xxx 未訂閱
可以把f1當參數嗎?
ShowMessage(FormatFloat("0.00",f1));



===================引 用 renard 文 章===================
double f1=1234567890;
AnsiString s=FormatFloat("###,###,###,###",f1);
ShowMessage(s);//"123,456,7890"

double f2=StrToFloatDef(s,0);
ShowMessage(FormatFloat("0.00",f2));//顯示0.00<-希望是顯示123456789.00
renard
一般會員


發表:3
回覆:43
積分:24
註冊:2007-06-29

發送簡訊給我
#3 引用回覆 回覆 發表時間:2018-06-08 11:23:04 IP:220.130.xxx.xxx 未訂閱
不能把f1當成是參數,f1只是象徵性的資料,
因為f1的資料可能是從其他系統匯出的,
剛想到一個解法,就是把逗號消掉,再轉回浮點數.

double f1=1234567890;
AnsiString s=FormatFloat("###,###,###,###",f1);
ShowMessage(s);//"123,456,7890"

//double f2=StrToFloatDef(s,0);
//ShowMessage(FormatFloat("0.00",f2));//顯示0.00<-希望是顯示123456789.00

s=StringReplace(s,",","",TReplaceFlags()< double f2=StrToFloatDef(s,0);
ShowMessage(FormatFloat("0.00",f2));//顯示123456789.00
系統時間:2024-05-07 20:18:19
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!