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

如何去除 '/ '與'小數點'

尚未結案
shiungyi
一般會員


發表:14
回覆:33
積分:9
註冊:2003-05-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-11 11:59:22 IP:211.23.xxx.xxx 未訂閱
DEAR ALL 小弟自SQL SERVER讀取資料 再將其指定給一TString 如 TEMPSTR:= T_TADE T_ACCO T_AMT 其數值為 2003/9/6SD02458 34.252 T_AMT 長度為13 整數與小數採動態 要如何才能將其轉成20030906SD024580000034252000 謝謝 並祝大家 佳節愉快
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-09-11 12:08:33 IP:202.39.xxx.xxx 未訂閱
begin
  // 去除 /
  TEMPSTR := StringReplace(TEMPSTR, '/', '', [rfReplaceAll]); 
  // 去除 .
  TEMPSTR := StringReplace(TEMPSTR, '.', '', [rfReplaceAll]);
  // 去除半形空白
  TEMPSTR := StringReplace(TEMPSTR, ' ', '', [rfReplaceAll]);
end;
--- 歡迎光臨 KTop 研究院--<-<-<@
shiungyi
一般會員


發表:14
回覆:33
積分:9
註冊:2003-05-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-09-12 11:27:31 IP:163.29.xxx.xxx 未訂閱
tempstr:Tstrings; 小弟將 begin // 去除 / TEMPSTR := StringReplace(TEMPSTR, ''/'', '''', [rfReplaceAll]); // 去除 . TEMPSTR := StringReplace(TEMPSTR, ''.'', '''', [rfReplaceAll]); // 去除半形空白 TEMPSTR := StringReplace(TEMPSTR, '' '', '''', [rfReplaceAll]); end; 加入後 ERROR MESSAGE Incompatible types:'String' and 'TStrings' 以下為小弟的程式 tempstr:=TStringList.Create; . while not Eof do begin tempstr.Add(Format(RETSTR,[T_TADE,T_ACCO,T_AMT])); Query1.Next; end; 發表人 - shiungyi 於 2003/09/12 11:39:31
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-09-12 11:51:39 IP:211.76.xxx.xxx 未訂閱
tstringlist.strings[index]的屬性才是string型態 你必須將hargar的程式用來處理tstringlist的某一個index的strings
shiungyi
一般會員


發表:14
回覆:33
積分:9
註冊:2003-05-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-09-12 12:14:26 IP:163.29.xxx.xxx 未訂閱
[quote] tstringlist.strings[index]的屬性才是string型態 你必須將hargar的程式用來處理tstringlist的某一個index的strings 我改成下列方式 T_TADE:=CTCQuery1.FieldByName('BILL_DAT').AsString; T_AMT:=CTCQuery1.FieldByName('EXRATE_COST').AsString; T_AMT := StringReplace(T_AMT, ''.'', '''', [rfReplaceAll]); T_TADE := StringReplace(T_TADE , ''/'', '''', [rfReplaceAll]); tempstr.Add(Format(RETSTR,[T_TADE,T_ACCO,T_AMT])); 結果為 Record,Object or class type required Operator not applicable to this operand type 發表人 - shiungyi 於 2003/09/12 12:16:39
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-09-12 13:42:00 IP:211.76.xxx.xxx 未訂閱
tempstr.Add(Format(RETSTR,[T_TADE,T_ACCO,T_AMT])); 這是什麼?
shiungyi
一般會員


發表:14
回覆:33
積分:9
註冊:2003-05-16

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-09-12 13:54:12 IP:163.29.xxx.xxx 未訂閱
tempstr.Add(Format(RETSTR,[T_TADE,T_ACCO,T_AMT])); 新增一筆record至tempstr 最終目的在於 tempstr.SaveToFile('c:\bgbil1.txt'); 當record由datebase讀取後 日期顯示為2003/9/8 這樣的資料IBM主機無法辨識 必須轉成20030908 發表人 - shiungyi 於 2003/09/12 14:01:55
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-09-12 14:26:36 IP:211.76.xxx.xxx 未訂閱
RETSTR 是什麼???
shiungyi
一般會員


發表:14
回覆:33
積分:9
註冊:2003-05-16

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-09-12 14:44:36 IP:163.29.xxx.xxx 未訂閱
[quote] RETSTR 是什麼??? 這是之前USER留下來的程式 我也不是很清楚
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-09-12 14:51:00 IP:211.76.xxx.xxx 未訂閱
1.單步追蹤吧 2.查一下程式碼,RETSTR可能是某個變數,查他代入的值 3.待高明者續 發表人 - hahalin 於 2003/09/12 14:52:01
shiungyi
一般會員


發表:14
回覆:33
積分:9
註冊:2003-05-16

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-09-12 15:19:26 IP:163.29.xxx.xxx 未訂閱
找到了 const RETSTR:string = '%8s%4s%3s%1s%3s%4s%3s%2s%1s%1ss%8ssss s0s%4s%4ss';//定義文字檔格式
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-09-12 18:30:02 IP:202.39.xxx.xxx 未訂閱
begin
  // 去除 /
  TEMPSTR.Text := StringReplace(TEMPSTR.Text, '/', '', [rfReplaceAll]); 
  // 去除 .
  TEMPSTR.Text := StringReplace(TEMPSTR.Text, '.', '', [rfReplaceAll]);
  // 去除半形空白
  TEMPSTR.Text := StringReplace(TEMPSTR.Text, ' ', '', [rfReplaceAll]);
end;
--- 歡迎光臨 KTop 研究院--<-<-<@
shiungyi
一般會員


發表:14
回覆:33
積分:9
註冊:2003-05-16

發送簡訊給我
#13 引用回覆 回覆 發表時間:2003-09-13 12:02:07 IP:163.29.xxx.xxx 未訂閱
begin // 去除 / TEMPSTR.Text := StringReplace(TEMPSTR.Text, '/', '', [rfReplaceAll]); // 去除 . TEMPSTR.Text := StringReplace(TEMPSTR.Text, '.', '', [rfReplaceAll]); // 去除半形空白 TEMPSTR.Text := StringReplace(TEMPSTR.Text, ' ', '', [rfReplaceAll]); end; DEAR hagar 照您的做法 確實能解決小數點的問題 但是日期還是有問題 2003/09/12-->2003912 遇到個位數的月份還是沒補0 而金額欄位 如 35463.678-->35463678 並不是所要之 03546367800 謝謝 發表人 - shiungyi 於 2003/09/13 12:19:38
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#14 引用回覆 回覆 發表時間:2003-09-13 12:08:39 IP:202.39.xxx.xxx 未訂閱
您 T_Date 這個變數的值是怎樣得來的? 得從這個地方下手.    --- 歡迎光臨 KTop 研究院--<-<-<@
shiungyi
一般會員


發表:14
回覆:33
積分:9
註冊:2003-05-16

發送簡訊給我
#15 引用回覆 回覆 發表時間:2003-09-13 12:22:56 IP:163.29.xxx.xxx 未訂閱
[quote] 您 T_Date 這個變數的值是怎樣得來的? 得從這個地方下手. T_Date:=CTCQuery1.FieldByName('T_Date').AsString; 然後就直接將值指定給TEMPSTR 並未做任何處理
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#16 引用回覆 回覆 發表時間:2003-09-13 13:00:12 IP:202.39.xxx.xxx 未訂閱
begin
  T_Date := CTCQuery1.FieldByName('T_Date').AsString;      if T_Date[7] = '/' then // 月份補 0
    Insert('0', T_Date, 6);
  if (T_Date[8] = '/') and (Length(T_Date) = 9) then // 日期補 0
    Insert('0', T_Date, 9);
end;
--- 歡迎光臨 KTop 研究院--<-<-<@
shiungyi
一般會員


發表:14
回覆:33
積分:9
註冊:2003-05-16

發送簡訊給我
#17 引用回覆 回覆 發表時間:2003-09-13 14:38:28 IP:163.29.xxx.xxx 未訂閱
begin T_Date := CTCQuery1.FieldByName('T_Date').AsString; if T_Date[7] = '/' then // 月份補 0 Insert('0', T_Date, 6); if (T_Date[8] = '/') and (Length(T_Date) = 9) then // 日期補 0 Insert('0', T_Date, 9); end; 照上述改正後 [Error] Unit1.pas(4882): Too many actual parameters
shiungyi
一般會員


發表:14
回覆:33
積分:9
註冊:2003-05-16

發送簡訊給我
#18 引用回覆 回覆 發表時間:2003-09-13 15:10:13 IP:163.29.xxx.xxx 未訂閱
begin T_Date := CTCQuery1.FieldByName('T_Date').AsString; if T_Date[7] = '/' then // 月份補 0 Insert('0', T_Date, 6); if (T_Date[8] = '/') and (Length(T_Date) = 9) then // 日期補 0 Insert('0', T_Date, 9); end; DEAR hagar 改成 System.Insert( '0',pc_rele_time, 6 );後 日期欄位的問題已解決 因為這段程式是置於with CTCQuery1 do之下 所以DELPHI一直把 Insert('0', T_Date, 6); 當成TDateSet.Insert.Procedure 目前剩下數字欄位的空白補"0" 與小數點消去後的數字位移問題 這些小弟會自行研究 在此謝謝hagar與hahalin的協助
payne
初階會員


發表:1
回覆:40
積分:38
註冊:2002-04-19

發送簡訊給我
#19 引用回覆 回覆 發表時間:2003-09-15 03:25:14 IP:61.228.xxx.xxx 未訂閱
數字的format用 T_AMT:= Copy(FloatToStrF( (T_AMT*1000000.0 10000000000000.0) , ffGeneral, 14,0),2,13);
系統時間:2024-05-20 15:19:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!