我有一个asp.net mvc应用程序,它使用knockout Js和Odata将数据从数据库表显示到网页。在我的模型中,我有几个Double
类型值的条目,当我在网页上显示它时,如果值为2.05,则可以正常工作,但当值为2的类型为2.5时出现问题它只显示2和2.5而不是我想要两个小数点,分别是2.00和2.50。
模型
public int Id { get; set; }
public double? Bid { get; set; }
public double? Offer { get; set; }
Knockout JS
self.getverticaldata = function () {
$.ajax({
dataType: "json",
url: '/odata/CC',
data: ko.toJSON(self.products),
async: false,
success: function (data) {
self.datainput((ko.utils.arrayMap(data.value, function (canadiancrude) {
var obsCanadianCrude = {
Id: canadiancrude.Id,
Bid: ko.observable(canadiancrude.Bid),
Offer: ko.observable(canadiancrude.Offer),
}
return obsCanadianCrude;
})));
}
});
}
我可以知道更好的方法来处理这个并显示最多两位小数值
答案 0 :(得分:1)
在您的绑定中,请使用toFixed
data-bind="text: Bid().toFixed(2)"
data-bind="text: Offer().toFixed(2)"
这将显示2.00
和2.50
。
<强>更新强>
要处理null
和undefined
,您可以显示空字符串或一些占位符。
data-bind="text: (typeof Bid() === 'number') ? Bid().toFixed(2) : '' "
data-bind="text: (typeof Offer() === 'number') ? Offer().toFixed(2) : 'Not Exist!' "
答案 1 :(得分:0)