I hope you understand that the numeric data itself has no cultural difference, but the representation if the numbers in the form of text may have. One such difference is a decimal point, for example. If this the problem?
In this case, you only need to read data in some specific culture.
You can change the culture of a current thread before your text reader reads and parses the data:
System.Globalization.CultureInfo savedCulture = System.Threading.Thread.CurrentThread.CurrentCulture;
try {
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("el-GR");
System.Threading.Thread.CurrentThread.CurrentCulture = culture;
} finally {
System.Threading.Thread.CurrentThread.CurrentCulture = savedCulture;
}
Essentially, all that makes a difference while parsing a text into a numeric data; so, on a detail level, you can do
double value = double.Parse(someText, culture);
if (!double.TryParse(someText, out value)) { }
—SA