It seems that Blazor WebAssembly applications format currencies as "123,45 $" for the es-US locale, while console or native server .NET format as "$123.45".
I would expect the "$123.45" currency format for es-US in both cases.
Which one of these is correct for "es-US"? And, in either case, what is the right way to let Microsoft know about this discrepancy (or, is the discrepancy intentional for some reason)?
To clarify, the same code below produces different results when running on the same machine depending on whether you're in a Blazor WebAssembly project or a console app project:
var culture = new CultureInfo("es-US");
var amt = 123.45M;
Console. WriteLine(amt. ToString("C"), culture);
Running this JS in a local web page also gives "123.45" with the period:
var amt = 123.45;
alert(amt.toLocaleString("es-US", { minimumFractionDigits: 2 });
This page seems to confirm the "$123.45" format is right for es-US, and I'd assume that browser/vanilla JS and server/native .NET are more likely to be correct than Blazor, and those three agree (also W3 schools & dotnetfiddle): https://www.localeplanet.com/icu/es-US/index.html