obtener correctamente десятичные числа доблести en контроллер MVC

он танго creado una vista basada en un modelo utilizando MVC C# en este modelo una про-Пьедад para el costo de un evento, ми el cual segun pais puede contener Лос siguientes доблесть validos (separo por guion середина месяца): y la propiedad за $ $1,234,56-123,123,54 - 1,25 подставляет validaciones utilizando аннотирования данных es:

 [Required(ErrorMessage="Especifique precio evento")]
        [Display(Name="Precio Evento")]
        [DisplayFormat(DataFormatString = "{0:C0}")]      
        [RegularExpression(@"^(((\d{1,3})(,\d{3})*)|(\d+))(.\d+)?$", ErrorMessage = "Error")]

        public double PrecioEvento { get; set; }

ми problema es que al dar enviar ми formulario, доблесть en el controller recibo bien estos 1.25 - 25.47 - 789,32 de PrecioEvento... контроллер recibo 0.0 en pero cuando el valor especificado para PrecioEvento lleva una coma por ejemplo 123 123,45 миль.

довод "против" al principio cada vez que escribia un numero punto десятичный контроллер recibia cero en mi pero lo arregle agregando esto ми web.config

<globalization culture="es-SV"/> 

pero ahora никакая доблесть контроллера se que debo modificar para obtener en mi перспектива especificados en mi кома que tengan (de мили) y punto десятичное число, por ejemplo: 123,123,45.

Gracias por la ayuda, Nota: выражение la регулярный que utilizo funciona para obtener los valores deseados (кома de мили y punto десятичное число).

0
задан 23.03.2017, 21:49
1 ответ

В твоем случае ошибки дело в том, что из-за запятой стоимость получи это string, когда твоя переменная PrecioEvento - double

, я рекомендую Тебе использовать форматы prediseñado. Это пример:

  String.Format("{0:#,0.000}", value)

ты можешь применять Это с твоего model

public double PrecioEvento { get; set; }
public double strPrecioEvento { get
    {
        return String.Format("{0:#,0.000}", PrecioEvento );
    }
    set
    {
        PrecioEvento = value;
    } 
}

и используй strPrecioEvento в твоем виде вместо PrecioEvento

1
ответ дан 24.11.2019, 10:25
  • 1
    спасибо, вопрос: в свойство double PrecioEvento я буду должен размещать ему утверждения даты annotations? также наблюдение, если я размещаю return String. Format (" { 0:#, 0.000 } " PrecioEvento); я señ крыло ошибка: the ямс string does not exist in the current context, и если изменила прописная S String из-за s строчную букву тогда я señ крыло ошибка: cannot implicitly convert type ' string' to ' double' –  23.03.2017, 22:10
  • 2
    Нет, в этом случае аннотации pasarí an в strPrecioEvento, так как está será elemnto, который работает с видом; Одинокий PrecioEvento берется за то, чтобы брать стоимость. Точка состоит в том, чтобы давать conversió n подходящая для вида и данных пребывайте целыми. – farsSharp 23.03.2017, 22:14
  • 3
    также наблюдение, если я размещаю return String. Format (" { 0:#, 0.000 } " PrecioEvento); я señ крыло ошибка: the ямс string does not exist in the current context, и если изменила прописная S String из-за s строчную букву тогда я señ крыло ошибка: cannot implicitly convert type ' string' to ' double' †“ –  23.03.2017, 22:16
  • 4
    есть, что converitr двойная порция в string, он пробует с PrecioEvento.ToString (); – farsSharp 23.03.2017, 23:55

Теги

Похожие вопросы