ASP.NET MVC-用逗号分隔数字

时间:2019-07-11 20:25:31

标签: c# jquery asp.net-mvc

我的电话号码正在保存,并显示为附件图像。

输入的数字不会用逗号分隔,例如以5,000,000的格式保留数字5000000

StockImage

例如,如何显示数字5000,而不是5000,00

我知道有几个主题可以解决这个问题,但是没有一个解决方案对我有帮助。

我已经尝试过此解决方案 comma decimal seperator in asp.net mvc 5

那: separate numbers by comma with 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 :(得分:0)

我认为您的格式仅为0,000(或maby 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
}

答案 1 :(得分:0)

答案应尊重用户期望看到的内容。  阅读本地化设置,然后以这种方式显示。

我建议您查看此处发布的答案:Convert number into culture specific

尽管他们似乎没有答案来阅读用户系统的当前文化。为此,您可能需要查看以下内容:https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo.currentculture?view=netframework-4.8

所以最后的答案是:
1)得到当前的文化。 2)将您的号码转换成它。