Add support for culture-dependent number formats across consecutive calls.
Currently:
CultureInfo.CurrentCulture = new CultureInfo("de-DE");
BuiltInNumberFormats.GetNumber3(); // Returns correct: #.##0,00
CultureInfo.CurrentCulture = new CultureInfo("en-US");
BuiltInNumberFormats.GetNumber3(); // Returns wrong: #.##0,00 (should be #,##0.00)Workaround:
var thread1 = Task.Run(() =>
{
CultureInfo.CurrentCulture = new CultureInfo("de-DE");
var format = BuiltInNumberFormats.GetNumber3();
Console.WriteLine($"Thread 1: {format}");
});
var thread2 = Task.Run(() =>
{
CultureInfo.CurrentCulture = new CultureInfo("en-US");
var format = BuiltInNumberFormats.GetNumber3();
Console.WriteLine($"Thread 2: {format}");
});
await Task.WhenAll(thread1, thread2);