看板 C_and_CPP 關於我們 聯絡資訊
遇到的問題: (題意請描述清楚) 在一個檔案(內含英文字、符號、非小數之數字)中找出小數的部分並排序 已經把英文與符號消去,但是不知道如何判讀出小數。 舉例而言: 123 //此為整數 1.2.3.4 //雖有小數點,但非小數 .123 123. 1.23 //此為小數 希望得到的正確結果: 應該要判讀出1.23為小數 程式跑出來的錯誤結果: 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) VC++ 有問題的code: (請善用置底文標色功能) 補充說明: 尚無,感謝解答。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.75.177
loveme00835:.123、123. 不算嗎? 08/22 11:39
shesee:嗯那不算,因為原檔是紊亂的文字符號和數字組成... 08/22 11:41
shesee:應該說,原本全部都是字元,像網址那樣。 08/22 11:41
例如說 <link rel="stylesheet" href="http://bits.wikimedia.org/skins-1.5/vector/main-ltr.css?283p.1.3.5" type="text/css" media="screen" /> 這一行字,會抓到1.5(小數) 283(整數) .1.3.5(非數字) ※ 編輯: shesee 來自: 140.116.75.177 (08/22 11:46)
loveme00835:簡單的話用 count_if 小數點個數為 1 才算, 再用 find 08/22 11:46
loveme00835:確認小數點不在首尾 08/22 11:46
mantour:是否考慮用regex ? 08/22 11:47
hilorrk:直覺就是用regex... 08/22 11:48
loveme00835:如果用.net 庫的 Regex 會更快就是.. 08/22 11:49
shesee:嗯嗯,研究看看,謝謝解答。 08/22 11:54
m80126colin:先找只含有數字和小數點的區間,然後再判斷區間是否只 08/22 15:32
m80126colin:有一個小數點這樣? 08/22 15:33
shesee:那和count_if的目的是相同的(?) 08/22 15:51
mantour:tr1和boost也有regex 不一定要用 .net 08/22 21:10
loveme00835:我會推 .net 的原因是記得2005 沒有包含 tr1, 如果不 08/22 21:46
loveme00835:會建boost庫, 就只有現成的.net庫可用了 08/22 21:47
loveme00835:原PO給的資訊不夠多, 沒辦法給予更完備的建議 08/22 21:52
hilorrk:boost的話比較推xpressive~ 08/22 21:55
loveme00835:原來還有這東東@_@ 08/22 22:16