Hi All,
Here I wanted to
show you how we can implement Yahoo!
Finance Currency Convertor API using C#.
Note:
This is based on Standard: ISO_4217.
I am using a Console application to get the results.
Logic: Yahoo! Finance API convertor will calculate, what is value of 1
unit in current currency system against other currency system we wanted to
convert.
Use the result and multiply with Amnt you need to
convert.
E.g., (INR: Indian Rupees; USD: US Dollar)
1 INR == 0.016 USD, then how much
is 300 INR equals to?
|
Simple math, we do using a cross multiplication,
We get,
X=
0.016*300
This is the same logic; we are going to apply here.
using System;
using
System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web;
using System.Net;
using System.Diagnostics;
using
System.Text.RegularExpressions;
namespace LiveCurrencyconverter
{
class Program
{
static void Main(string[] args)
{
decimal apiYahoo = 0; //To Store final converted result
string fromCurrencyCode = "INR"; //From which currency I should convert
string toCurrencyCode = "USD"; //To which Countries’ currency format I should convert
decimal amnt = 300.56m; //What is amnt I need for the conversion
apiYahoo = YahooConversionAPI(amnt,fromCurrencyCode, toCurrencyCode);
//Calling a Method
Console.WriteLine(fromCurrencyCode+
" : "+amnt +" = "+ toCurrencyCode+ " : "+ apiYahoo );
Console.ReadKey();
}
private static decimal YahooConversionAPI(decimal amnt, string fromCurrencyCode, string toCurrencyCode)
{
try
{
WebClient web = new WebClient();
const string yahooAPIUrl = "http://finance.yahoo.com/d/quotes.csv?s={0}{1}=X&f=l1";
string url = String.Format(yahooAPIUrl, fromCurrencyCode,
toCurrencyCode);
// Get response as string
string response = new WebClient().DownloadString(url); //Result is as explained above, it has calculated 1 unit
from one currency code to other.
decimal exchangeRate = decimal.Parse(response, System.Globalization.CultureInfo.InvariantCulture); // Convert string to number
return exchangeRate * amnt; //Here is the math happening as shown above example
}
catch (Exception e)
{
return 0;
}
}
}
}
|
Comments
Post a Comment