2010-03-28 23 views
9

當您在Google中搜索「100F to C」時,它如何知道從華氏轉換爲攝氏?同樣,從不同的貨幣轉換和簡單的計算。谷歌計算器是如何實施的?

什麼是使用的數據結構,或者它是簡單的模式匹配字符串?

+1

你有沒有嘗試過wolfram alpha的東西?它有許多事情的數據庫,你幾乎可以問任何問題(返回確切的數字或類似的)。它也顯示了它如何解析你的問題。 http://www.wolframalpha.com/input/?i=night+fall+in+Piran – 2011-06-19 13:11:01

+0

同意ralu - WolframAlpha使用一定量的自然語言處理,這更加有趣並涵蓋了更多種類的案例(嘗試例如問它芬蘭的人口)。 – new123456 2011-08-08 01:52:55

回答

1

這不完全簡單模式匹配。評估你可以輸入的數學表達式並不是微不足道的。例如,here's評估數學表達式的算法。這只是評估,可能有很多代碼要檢測它是否有效。

對於貨幣轉換和其他單位,這是簡單的模式匹配。

0

它的簡單模式匹配

嘗試英里
100公里每小時=沒有計算
每小時100公里的英里=62.1371192英里每小時

+0

「100公里/小時英里/小時」的工作原理是:km/h是正確的縮寫 – gbn 2010-03-28 17:40:26

+2

我幾乎100%確定對於數學表達式(例如100 *(6 +3)),他們使用解析器,定期。 – 2010-03-28 17:41:29

+1

@DJJOKU:同意了,但有一個更難確認的問題,那就是在將它作爲搜索字符串處理之前,發送給計算器是一個合適的表達式。我猜測有一堆regexps和啓發式的決心。 – msw 2010-03-28 18:08:53