title: .Net Core Razor has wrong culture
body: <p>I have a localized .Net Core 3 app. My resources are in a separate assembly in .resx files. The localization is set up to use cookies like this:</p>
  <pre><code>var cultureProvider = new CookieRequestCultureProvider();
  cultureProvider.CookieName = &quot;MyCultureCookie&quot;;
  
  var localizationOptions = new RequestLocalizationOptions
  {
      DefaultRequestCulture = new RequestCulture(&quot;de&quot;),
      SupportedCultures = StaticData.SupportedCultures,
      SupportedUICultures = StaticData.SupportedCultures,
      RequestCultureProviders = new List&lt;IRequestCultureProvider&gt; 
      { 
          cultureProvider,
          new AcceptLanguageHeaderRequestCultureProvider()
      }
  };
  
  app.UseRequestLocalization(localizationOptions);
  </code></pre>
  <p>and to localize validation messages:</p>
  <pre><code>services.AddLocalization(options =&gt; options.ResourcesPath = &quot;Resources&quot;);
  services.AddControllersWithViews()
      .AddDataAnnotationsLocalization(options =&gt;
      {
          options.DataAnnotationLocalizerProvider = (type, factory) =&gt;
              factory.Create(typeof(MyLocalizationDll));
      })
      .AddViewLocalization()
      .AddRazorRuntimeCompilation();
  services.AddMvc()
      .SetupModelBindingLocalization(services)
      .AddViewLocalization();
  </code></pre>
  <p>The input in my view:</p>
  <pre><code>&lt;input type=&quot;number&quot; class=&quot;form-control&quot; min=&quot;0&quot; max=&quot;100&quot; step=&quot;0.1&quot; /&gt;
  </code></pre>
  <p>It works well, I can switch the language and all page texts including almost all data validation error messages will be translated, numbers are shown in correct format (e.g. 1.00 for &quot;en&quot; and 1,00 for &quot;de&quot;).</p>
  <p><strong>But</strong> the problem is: when I have a decimal number like 1,5 in german culture and I submit my form, then it comes as 15 in my controller. Only when I switch the language to &quot;en&quot; I get the right number, because the decimal separator is point as expected. And I also get some of the validation messages for this field in other language. Just can't figure out what is here the problem...</p>