2011-11-02 27 views
-1

上午嘗試將字符串轉換爲浮點數,當我傳遞單個字符時它給出了例外。如何將單個空間轉換爲浮點數在delphi 10

FMandateSize := StrToFloat(EditMandateSize.Text); 

任何想法如何將單個字符轉換爲浮點型?

+0

如果我在編輯字段中有一個數字,我無法重建此錯誤。 您能否提供更多信息: 引發了哪個異常? 編輯字段中的哪個字符? FMandateSize是什麼類型的變量? – Michael

+0

-1。對問題描述不佳。描述你說的例外。您的輸入是什麼,您收到了什麼輸出以及您期望*看到的輸出是什麼?輸出如何與文檔中說明你應該預期的內容相比較? –

+0

在主體和問題本身之間,我將其解釋爲無效輸入問題。 –

回答

14

你會從空間角色期望什麼浮點值?可能是0.0。

你可以使用StrToFloatDef來分配自己的默認值無效的字符串:

FMandateSize := StrToFloatDef(EditMandateSize.Text, 0.0); 

或者你可以使用TryStrToFloat它給你一個布爾結果而不是拋出一個異常時,有一個無效的字符串。

Result := TryStrToFloat(EditMandateSize.Text, FMandateSize); 
+0

如何我可以發送它爲空? – SSE

+0

你是什麼意思?當傳遞一個空字符串或NULL時,StrToFloat也會失敗。 –