日期:2014-05-17 浏览次数:20621 次
?
Google is a wonderful ! While most of us use it for searching the web for information , few are aware that it has an inbuilt calculator which can also be used for converting a currency into another . Doing so is really simple , you just type ” AMOUNT CURRENCY_CONVERTING_FROM in CURRENCY_CONVERTING_TO ” and search , the inbuilt calculator will give you the result .For example , if one wants to convert 1 U.S Dollar into Euro , he shall type “1 USD in EUR” .
?
Now lets get to the topic of this post , Google also has a secret calculator API ( http://www.google.com/ig/calculator ) that is usually used for iGoogle gadgets , but since its free and open , anyone can use it .
?
So if you want to convert a currency into another using the API , your callback URL would look like :
?
?
?
www.google.com/ig/calculator?hl=en&q=AMOUNT-FROM_CURRENCY=?TO_CURRENCY // 1 USD in EUR example www.google.com/ig/calculator?hl=en&q=1USD=?EUR?
?
?
In the above example , you get a string which looks like "{lhs: "1 U.S. dollar",rhs: "0.838574423 Euros",error: "",icc: true}" . You can easily explode() the string using php and extract the required data .
?
To make things easier for you , here is a simple php function that converts a currency into another using the Google calculator API . This example uses cURL , so you have to have it enabled for this code to work .
?
?
To make things easier for you , here is a simple php function that converts a currency into another using the Google calculator API . This example uses cURL , so you have to have it enabled for this code to work .
?
?
<?php function currency($from_Currency,$to_Currency,$amount) { $amount = urlencode($amount); $from_Currency = urlencode($from_Currency); $to_Currency = urlencode($to_Currency); $url = "http://www.google.com/ig/calculator?hl=en&q=$amount$from_Currency=?$to_Currency"; $ch = curl_init(); $timeout = 0; curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERAGENT , "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)"); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $rawdata = curl_exec($ch); curl_close($ch); $data = explode('"', $rawdata); $data = explode(' ', $data[3]); $var = $data[0]; return round($var,3); } ?>?
?
?
The value returned by Google usually has 9 decimal places , you can round it off to a no. of digits after decimal of you choice using the round() function . By default the above function rounds the value to 3 digits after decimal .
?
Now here is how you can use the function in your scripts
?
?
?
<?php //This will display current value of 1 USD in CNY ( China ) echo currency("USD","CNY",1); ?>?
?
?
Hope this has helped you with converting currencies using php on your website
?
?
?
来源:?http://www.xe.com/ucc/full/?obsolete=yes
?
附:货币
?
<select name="From" size="10" tabindex="2"> <option selected="selected" value="AFN">Afghanistan, Afghani (AFN)</option> <option value="ALL">Albania, Lek (ALL)</option> <option value="DZD">Algeria, Dinar (DZD)</option> <option value="USD">America (United States), Dollar (USD)</option> <option value="USD">American Samoa, United States Dollar (USD)</option> <option value="EUR">Andorra, Euro (EUR)</option> <option value="AOA">Angola, Kwanza (AOA)&