C# ASP.NET MVC-用逗号分隔数字
我的号码将被保存并显示为附加图像 输入的数字不能用逗号分隔,例如以5000000格式保留数字5000000 例如,我如何以5000格式显示数字5000,而不是5000,00 我知道有几个主题涉及到这一点,但没有一个解决方案对我有帮助 我已经试过这个方法了 而且: 我的代码:C# ASP.NET MVC-用逗号分隔数字,c#,jquery,asp.net-mvc,C#,Jquery,Asp.net Mvc,我的号码将被保存并显示为附加图像 输入的数字不能用逗号分隔,例如以5000000格式保留数字5000000 例如,我如何以5000格式显示数字5000,而不是5000,00 我知道有几个主题涉及到这一点,但没有一个解决方案对我有帮助 我已经试过这个方法了 而且: 我的代码: public class stock { [Required(ErrorMessage = "Campo Obrigatório")] [DisplayFormat(DataFormatStrin
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();
}
}
});
}
我认为您的格式只是
0000
(或者maby0000.00
。我不知道您的期望值)
我认为您的格式只是
0000
(或者maby0000.00
。我不知道您的期望值)
答案应该尊重用户期望看到的内容。 阅读本地化设置,然后以这种方式显示 我建议你看看这里贴的答案: 尽管他们似乎没有办法了解用户系统的当前文化。为此,您可能需要查看以下内容: 所以最后的答案是:
1) 获取当前文化。
2) 将您的号码转换成它。答案应该尊重用户期望看到的内容。 阅读本地化设置,然后以这种方式显示 我建议你看看这里贴的答案: 尽管他们似乎没有办法了解用户系统的当前文化。为此,您可能需要查看以下内容: 所以最后的答案是:
1) 获取当前文化。
2) 把你的号码转换成它。不清楚你想要什么。您希望数字用逗号而不是小数和逗号分隔千位吗?通常,小数的分隔符不同于用于分隔千的分隔符。否则,您将得到令人困惑的“5000,00”,这看起来像是格式化“500000”中的错误。请尝试DataFormatString=“{0:N2}”这将返回5000。00@HereticMonkey是的,我想用逗号分隔千,例如,用户键入5000,show 5000,或者如果他键入5000000,显示5000.00请您的问题清楚地说明您的预期结果。您的数字格式在许多国家都是标准格式。您可能应该将其转换为用户的本地化设置。把数字保存为字符串的人打一巴掌。你想要什么还不清楚。您希望数字用逗号而不是小数和逗号分隔千位吗?通常,小数的分隔符不同于用于分隔千的分隔符。否则,您将得到令人困惑的“5000,00”,这看起来像是格式化“500000”中的错误。请尝试DataFormatString=“{0:N2}”这将返回5000。00@HereticMonkey是的,我想用逗号分隔千,例如,用户键入5000,show 5000,或者如果他键入5000000,显示5000.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
}