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

【問題】請問一個AnsiString.ToDouble()的 Bug

尚未結案
fony_dai
一般會員


發表:1
回覆:3
積分:0
註冊:2005-06-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-13 18:22:25 IP:218.166.xxx.xxx 未訂閱
小弟有一段程式碼需要在西班牙語系的OS上跑 可是卻會發生很奇怪的Bug在ToDouble()這個function上 這是一個用來轉換經緯度字串的function 輸入為Data = "W43.460239" 在中文和英文OS上輸出為-43.460239 可是在西班牙語系上卻會有[raised exception class EConvertError with message "43.460239" is not a valid floating point value]的錯誤訊息 小弟我BCB實在太弱了 一直想不通為何發生此事 懇請求教 感激不盡 double __fastcall TAvsLonLatUnit::ToDouble(AnsiString Data) { if(Data.Length() == 0) return 0.0; double ret = 0.0; AnsiString data = Data; int abs = 1; if ((Data[1] == 'S') || (Data[1] == 'W')) { abs = -1; } data.Delete(1, 1); try { ret = abs * data.ToDouble(); } catch(...) { } return ret; }
taishyang
站務副站長


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-13 18:35:08 IP:210.68.xxx.xxx 未訂閱
您好:    PO程式碼的方式請參考版規說明,煩請修改謝謝您的配合 >
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-06-15 23:23:54 IP:219.84.xxx.xxx 未訂閱
fony_dai你好: 在西歐語系的OS上試試Data = "W43,460239"
fony_dai
一般會員


發表:1
回覆:3
積分:0
註冊:2005-06-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-06-20 10:44:19 IP:61.216.xxx.xxx 未訂閱
引言: fony_dai你好: 在西歐語系的OS上試試Data = "W43,460239"
太感謝了 問題解決了 真的是文化習慣不同阿 太感謝版大了 我真的是想破頭都想不出Bug在哪阿
系統時間:2024-06-27 2:57:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!