First of all, let me tell you that this is not what I need, but I will leave it here if someone else needs a patch for this.
One option is to “fix” the source code to override the number of decimal digits used in currencies (you can override all the properties you want). To do this, you need to create a specific culture, using the one you want to redefine as the base:
culture = CultureInfo.CreateSpecificCulture("es-CL");
culture.NumberFormat.CurrencyDecimalDigits = 0;
And then assign this culture variable to Current Thread:
Thread.CurrentThread.CurrentCulture = culture;
, MVC , "ActionFilterAttribute", :
public class LocalizationFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
CultureInfo culture = CultureInfo.CreateSpecificCulture("es-CL");
culture.NumberFormat.CurrencyDecimalDigits = 0;
Thread.CurrentThread.CurrentCulture = culture;
}
}
, Global.asax :
GlobalFilters.Filters.Add(new LocalizationFilter());