Quando si ha a che fare con lo sviluppo di applicazioni che necessitano di mostrare la valuta si rende necessario un sistema di cambio da offire al cliente in modo che possa vedere (e magari acquistare) tramite la propria moneta.
Le possibilità sono molteplici tra cui anche la scelta di un WebServer che ritorni il tasso di cambio da una valuta all’altra.
interessante però è anche il sistema di cambio che propone Yahoo! Finances, uno tra i più autorevoli sistemi di trading online.
Si tratta semplicemente di interrogare un indirizzo con le sigle di valuta dei due paese che ci interessano ed il gioco è fatto, come nel modo seguente:
http://quote.yahoo.com/d/quotes.csv?s=EURUSD=X&f=l1&e=.csv
Il link seguente genera un file .csv contenente il tasso di cambio tra Euro(EUR) e Dollaro Americano(USD).
Per una spiegazione del termine “l1” presente nel link consultare il seguente link
A questo punto, una soluzione efficace in Asp.NET per ottenere velocemente il tasso di cambio potrebbe essere il seguente:
string strFrom = “EUR”;
string strTo = “USD”;
double rate = 0;
HttpWebRequest request = WebRequest.Create(“http://quote.yahoo.com/d/quotes.csv?s=” + strFrom + strTo + “=X&f=l1&e=.csv”) as HttpWebRequest;
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
StreamReader reader = new StreamReader(response.GetResponseStream());
string result = reader.ReadToEnd().Replace(“\r”,””).Replace(“\n”,””).Replace(“.”,”,”);
rate = Double.Parse(result, System.Globalization.NumberStyles.Currency, null);
}
Se invece voleste scomodare un Web Service che data una valuta di inizio e una di fine vi ritorna il tasso corrente allora potreste partire da questo indirizzo su WebserviceX.NET
NB: Per prove di conversione e altri riscontri è possibile utilizzare l’ottimo CoinMill