我在jQuery row.append
row.append($('<TD></TD>').text(((item.Marks1 + item.Marks2 + item.Marks3) / 300) * 100));
我这样使用它不起作用
row.append($('<TD></TD>').text((Math.floor(item.Marks1 + item.Marks2 + item.Marks3) / 300) * 100));
这是平均如何接受两位小数这种格式请帮帮我。
答案 0 :(得分:0)
使用toFixed(2)
((item.Marks1 + item.Marks2 + item.Marks3) / 300) * 100).toFixed(2);
toFixed()方法将数字转换为字符串,保持指定的小数位数。
答案 1 :(得分:0)
将解决问题的2个步骤:
space
不是Javascript对象中键的有效字符(假设您的对象中有Marks 1
之类的键)。
因此,您需要将item.Marks 1
替换为item.Marks1
。
接下来,将所有标记值转换为浮点值:
parseFloat(item.Marks1)
因此,您的代码应如下所示:
row.append($('<TD></TD>').text((Math.floor(parseFloat(item.Marks1) + parseFloat(item.Marks2) + parseFloat(item.Marks3)) / 300) * 100));
编辑:根据他人的建议,您可以在上面代码行的末尾应用.toFixed(2)
,以获得小数点后的2位数。
EDIT2:添加了代码段:
var item = {
Marks1: 100.10,
Marks2: 100.105,
Marks3: 100.201
}
var row = $('table');
var num = parseFloat(item.Marks1) + parseFloat(item.Marks2) + parseFloat(item.Marks3);
num = num / 300 * 100;
num = num.toFixed(2);
row.append($('<TD></TD>').text(num));
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table></table>
&#13;
答案 2 :(得分:0)
从对象item
中删除多余的空格。要访问任何属性,您需要使用带有属性的对象名称而不使用任何空格。
例如,item.Marks1
使用toFixed()
将任意值四舍五入到小数点后两位:
在你的情况下:
row.append($('<TD></TD>').text((((item.Marks1 + item.Marks2 + item.Marks3) / 300) * 100).toFixed(2));