ASP.NET MVC - отдельные числа через запятую - PullRequest
1 голос
/ 11 июля 2019

Мои номера сохраняются, а также отображаются в виде прикрепленного изображения.

Введенные числа не разделяются запятыми, например, оставляя, например, число 5000000 в формате 5 000 000

StockImage

Как я могу показать, например, число 5000 в формате 5000 вместо 5000,00

Я знаю, что есть несколько тем, связанных с этим, но ни одно из решений не помогло мне.

Я уже пробовал это решение разделитель запятых в asp.net mvc 5

И это: отдельные числа через запятую с asp.net mvc

Мой код:

 public class stock
  {
    [Required(ErrorMessage = "Campo Obrigatório")]
    [DisplayFormat(DataFormatString = "{0:0,0}")]
    public decimal WaterLoad{ get; set; }

    [Required(ErrorMessage = "Campo Obrigatório")]
    [DisplayFormat(DataFormatString = "{0:0,0}")]
    public decimal Diesel { get; set; }
  }


function saveStock() {
    $("#message-estoque").removeClass("alert-danger");
    $("#message-estoque").removeClass("alert-warning");
    var barcoId = $("#estoque-barco-id").val();
    var water= $("#estoque-barco-agua").val().replace(",", ".");
    var diesel = $("#estoque-barco-diesel").val().replace(",", ".");
    var data = JSON.stringify({ AguaCarregada: agua, DieselCarregado: diesel, BarcoId: barcoId });
    if (water == "" || diesel == "") {
        $("#message-estoque").addClass("alert-warning");
        $("#message-estoque").html("Preencha todos os campos para continuar");
        return;
    }
      $.ajax({
    url: "/InfoApontamento/AtualizarEstoqueBarco",
    type: "POST",
    dataType: "json",
    data: data,
    contentType: "application/json",
    success: function (result) {

        if (!result.Success) {

            $("#message-estoque").html(result.ErrorDatail);
            $("#message-estoque").addClass("alert-danger");
        }
        else if (!result.Data) {
            $("#message-estoque").html(result.Message);
            $("#message-estoque").addClass("alert-danger");
        }
        else {
            alert("Salvo com sucesso!");
            $("#modal-estoque").modal('hide');
            $('#estoque-barco-agua').val("");
            $('#estoque-barco-diesel').val("");
            // abrirModalManutencao();
            preInicializarModal();
        }
    }
  });
}

Ответы [ 2 ]

0 голосов
/ 11 июля 2019

ответ должен уважать то, что пользователь ожидает увидеть.Прочитайте настройки локализации, а затем отобразите их таким образом.

Я предлагаю вам посмотреть ответы, размещенные здесь: Преобразовать число в специфическую культуру

, хотя они не кажутсяиметь ответ, чтобы прочитать текущую культуру системы пользователя.Для этого вы можете посмотреть на это: https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo.currentculture?view=netframework-4.8

Итак, окончательный ответ:
1) получить текущую культуру.2) конвертируйте в него свой номер.

0 голосов
/ 11 июля 2019

Я думаю, что ваш формат просто 0,000 (или Мэйби 0,000.00. Я не знаю ваших ожиданий)

public static void Main()
{
    string format = "0,000";
    decimal value = 5000m;
    Console.WriteLine(value.ToString(format));
    // 5,000.00
    value = 50000m;
    Console.WriteLine(value.ToString(format));
    // 50,000.00
    value = 5000.12m;
    Console.WriteLine(value.ToString(format));
    // 5,000.12
    value = 50000.12m;
    Console.WriteLine(value.ToString(format));
    // 50,000.12
    value = 50000000.1m;
    Console.WriteLine(value.ToString(format));
    // 50,000,000.10
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...