DUDE, αμφιβάλλω αν θα βοηθήσει σε τίποτα αν μας δείξεις τον κώδικα, καθώς το τί είναι float και τί είναι string είναι εντελώς βασικά θέματα. Θα είναι πολύ καλύτερο αν μπορείς να γράψεις ένα μικρό κομμάτι κώδικα, 10-15 γραμμές το πολύ, το οποίο να κάνει αυτό που προσπαθείς (το οποίο ως τώρα δεν έχεις περιγράψει) και να εξηγήσεις τί σου φαίνεται ότι πάει λάθος. Μόνο απομονώνοντας το σημείο του προβλήματος από την υπόλοιπη εφαρμογή υπάρχει η παραμικρή πιθανότητα να βρεις τί συμβαίνει.
Όπως είπε και ο darklynx, το Google Chart api δέχεται strings, όχι floats. Για να το καλέσεις θα πρέπει να μετατρέψεις τους float αριθμούς σε string με ΄.΄για δεκαδικό. Αυτό γίνεται με την float.ToString ή την String.Format. Και στις δύο μπορείς να περάσεις το CultureInfo που θέλεις, αν και το InvariantCulture αρκεί. Για παράδειγμα, ο παρακάτω κώδικας δουλεύει παρότι έχει αλλάξει το Culture του προγράμματος σε Greek.
using System;
using System.Collections.Generic;
using System.Threading;
using System.Globalization;
using System.Net;
using System.IO;
public class MyClass
{
public static void Main()
{
//Change the culture to GREEK CultureInfo greekCulture = new CultureInfo("el-GR", true);
Thread currentThread=Thread.CurrentThread;
currentThread.CurrentCulture = greekCulture;
currentThread.CurrentUICulture=greekCulture;
//Create the Google Chart URL using the InvariantCulture float[] points={54.5F,45.5F,38.7F};
string address=String.Format(CultureInfo.InvariantCulture,
"http://chart.apis.google.com/chart?cht=p3&chd=t:{0},{1},{2}&chs=250x100&chl=Hello|World|Zonk",
points[0],points[1],points[2]);
Console.WriteLine(address);
//Call Google WebClient client=new WebClient();
byte[] picture=client.DownloadData(address);
//Write the result to disk File.WriteAllBytes(@"e:\result.png",picture);
Console.ReadKey();
}
}
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos