I am using a non-US locale that defines the positive sign as "+" but I don't want it displayed... However I am having trouble and the solution I found seems way too complicated to be considered the best. Here is my code that shows the original problem (I am running Visual Studio 2015 update 3 in Windows):
1 2 3 4 5
locale loc ("sp-CR");
cout.imbue(loc);
cout << showbase;
auto& f = use_facet<money_put<char>>(loc);
f.put(cout, false, cout, ' ', 12345678.90);