如果数字不是双精度值,则无法显示最多两个十进制值的双精度类型值
本文关键字:双精度 十进制 类型 两个 显示 数字 如果 | 更新日期: 2023-09-27 18:08:58
我有一个asp.net mvc应用程序,它显示数据从数据库表到使用knockout Js和Odata的网页。在我的模型中,我有几个条目是Double
类型值,当我在网页上显示它们时,如果值为2.05类型,则工作正常,但当值为2.5类型2时,问题出现了,它只是显示2和2.5,而不是我想要它两个小数点,如2.00和2.50分别。
public int Id { get; set; }
public double? Bid { get; set; }
public double? Offer { get; set; }
淘汰赛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;
})));
}
});
}
我可以知道一个更好的方法来处理这个问题,并显示最多两个十进制值
在绑定中使用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!' "
你可能想看看NumeralsJS库:
http://numeraljs.com/还有这个:
Javascript:更容易的方式格式化数字?