線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2117
推到 Plurk!
推到 Facebook!

有沒有測試數字的函數 ?

尚未結案
vernon
一般會員


發表:27
回覆:26
積分:10
註冊:2003-05-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-02 11:48:52 IP:202.175.xxx.xxx 未訂閱
有沒有測試數字的函數可用 ?
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-02 11:56:07 IP:147.8.xxx.xxx 未訂閱
引言:有沒有測試數字的函數可用 ?
class="code"> try StrToFloat(s); ShowMessage('a number'); except ShowMessage('not a number'); end;
vernon
一般會員


發表:27
回覆:26
積分:10
註冊:2003-05-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-03 10:04:36 IP:202.175.xxx.xxx 未訂閱
沒有一個函數可以做到嗎?
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-07-03 10:24:53 IP:147.8.xxx.xxx 未訂閱
引言:沒有一個函數可以做到嗎?
class="code">function IsNumber(const s: string): boolean; begin try StrToFloat(s); Result := True; except Result := False; end; end;
vernon
一般會員


發表:27
回覆:26
積分:10
註冊:2003-05-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-07-06 14:36:20 IP:202.175.xxx.xxx 未訂閱
做了個測試, 但不行呢~ s:='a'; try strtofloat(s); ShowMessage('True'); except ShowMessage('False'); end; 彈出下面 Error Message : Project Project1.exe raised exception class EConvertError with message "a'is not a valid floating point value'. 我是用 Delphi 7 的, 為什麼會這樣 ?
ha0009
版主


發表:16
回覆:507
積分:639
註冊:2002-03-16

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-07-06 14:59:13 IP:61.56.xxx.xxx 未訂閱
你好: 其實有一個程序可以完成你的需求,範例如下:
var 
   s : string;
   Num, RetCode: Integer;
begin
   s := 'asa';   
   Val (s, Num, RetCode);
   if RetCode <> 0 then
      ShowMessage('False')
   else
     ShowMessage('True');
end;
ps : Val 詳細用法請看 Help < src="http://sourceprovide.deepen.com.tw/K_Top/bp.gif">
hagar
版主


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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-07-06 17:00:48 IP:202.39.xxx.xxx 未訂閱
引言: 做了個測試, 但不行呢~ s:='a'; try strtofloat(s); ShowMessage('True'); except ShowMessage('False'); end; 彈出下面 Error Message : Project Project1.exe raised exception class EConvertError with message "a'is not a valid floating point value'. 我是用 Delphi 7 的, 為什麼會這樣 ?
使用 try .. except, 但在 IDE 內會跳出 Exception 訊息是正常的 只要直接執行 exe 檔就不會 若不想在 IDE 內跳出 Exception 訊息 在 Project -> Debugger Options 的 Language Exceptions 頁中 底下有個 Stop on Delphi Exceptions 的 CheckBox 取消即可. --- 每個人都是一本書
vernon
一般會員


發表:27
回覆:26
積分:10
註冊:2003-05-28

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-07-07 09:27:56 IP:202.175.xxx.xxx 未訂閱
hagar, 你真是很棒呢~ 根本上我遇到的問題你都能夠完全明白並給予簡潔的答案, 十分感謝您~ 
hagar
版主


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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-07-07 11:39:15 IP:202.39.xxx.xxx 未訂閱
哇! 這題怎麼會給小弟分呢?< >< > 另外, 有些最好親自去試試, 這樣收穫會比較大 不是每次都會有人給你魚的! --- 奉行寶蘭主義 服從天使領導 保衛各版安全 完成KTop大業
vernon
一般會員


發表:27
回覆:26
積分:10
註冊:2003-05-28

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-07-07 12:27:48 IP:202.175.xxx.xxx 未訂閱
haha .. 這題是給錯的, 本想給 william , 但不知如何改動 Delphi 我是初學者, 對於它的操作和編程等都很不熟識, 又找不到一本好書. 所以只好硬著頭皮發問, 但我遇到問題時都會去究研一番後才發問的呢~
bundur
一般會員


發表:16
回覆:44
積分:22
註冊:2002-11-30

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-07-13 12:01:51 IP:218.104.xxx.xxx 未訂閱
引言: hagar, 你真是很棒呢~ 根本上我遇到的問題你都能夠完全明白並給予簡潔的答案, 十分感謝您~ < face="Verdana, Arial, Helvetica"> 更简单的: var TestInt: integer; begin if TryStrToInt('35434', TestInt) then ShowMessage('true') else showMessage('Fals'); end; 其实 有很多转换函数都有相应的 Try... 函数的 ==================== 交流是进步的良师 批评是成长的益友
star
初階會員


發表:37
回覆:93
積分:36
註冊:2002-07-18

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-07-13 19:17:02 IP:211.72.xxx.xxx 未訂閱
vernon, "給錯分?", 您真是有意思...
jcl
一般會員


發表:1
回覆:1
積分:0
註冊:2003-09-18

發送簡訊給我
#13 引用回覆 回覆 發表時間:2003-09-19 10:39:54 IP:61.218.xxx.xxx 未訂閱
我想給你們一個叫複雜的範例...每一個TEdit都可以用同一個Event喔 //保留0,1,2,3..9, 小數點 , 還有 chr(8)=Delete , chr(46)=BackSpace , 其他都不欲理會 ! procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if ((Key<'0') or (Key>'9') or (Key>'.')) and (Key<>chr(8)) and (Key<>chr(46)) then abort; end; procedure TForm1.Edit1Exit(Sender: TObject); begin if Sender.ClassType = TEdit then (Sender as TEdit).Text := CheckNum((Sender as TEdit).Text,-1); //取到小數第一位 end; use math; //檢查數字(要檢查的數字文字,要四捨五入到第幾位) Function TForm1.CheckNum(Const SourStr:string;To45 : integer):string; var NumF : string begin SetRoundMode(rmDown); //要四捨五入 try NumF := FloatToStr(SimpleRoundTo(StrToFloat(trim(SourStr)),To45)); Result := NumF; Except on EconvertError do begin if length(trim(SourStr)) >0 then MessageDlg(pchar('不合法的數字格式!'), mtinformation, [mbok], 0); Result := '0'; end; end; end;
tgho
一般會員


發表:3
回覆:14
積分:8
註冊:2003-03-18

發送簡訊給我
#14 引用回覆 回覆 發表時間:2003-10-12 00:40:57 IP:211.74.xxx.xxx 未訂閱
您是不是在debug的模式下Run程式 直接執行就不會了
引言: 做了個測試, 但不行呢~ s:='a'; try strtofloat(s); ShowMessage('True'); except ShowMessage('False'); end; 彈出下面 Error Message : Project Project1.exe raised exception class EConvertError with message "a'is not a valid floating point value'. 我是用 Delphi 7 的, 為什麼會這樣 ?
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#15 引用回覆 回覆 發表時間:2007-04-26 13:52:26 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

------
我是機器人,我不接受簡訊.
系統時間:2024-05-06 21:30:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!