1

我正在查询一个谷歌电子表格,我得到的数字正在放大我在代码中进一步做的一些权重。

我的查询:

function queryValue3(met1,met2,met3) {
var query3 = new google.visualization.Query('https://spreadsheets.google.com/spreadsheet/tq?range=B7:B9&key=my_key&gid=10');
query3.send(function (response) {
    if (response.isError()) {
        alert('Error in query3: ' + response.getMessage() + ' ' + response.getDetailedMessage());
        return;
    }

    var data3 = response.getDataTable();

    var m1 = data3.getValue(0, 0);
    var m2 = data3.getValue(1, 0);
    var m3 = data3.getValue(2, 0);

我为 m2 拉的数字显然是 25.3333333333333323 并且在函数的后面让我感到震惊。只要我的数字四舍五入到第 10 位或第 100 位(在这种情况下我想要第 10 位),该函数就可以正常工作。我使用自定义回合(十进制 1),它在工作表中看起来正确,但查询正在获取原始数字?在大多数情况下,我的数字是整数,我希望它在这些情况下没有小数。有人可以帮我修改这种情况下的变量 m1、m2 和 m3 吗?

谢谢...

4

1 回答 1

8

n.toFixed(2);

您可以使用它来设置小数点后的数字数量。

例子:

foo = 25.3333333333;
foo = +foo.toFixed(2); 
// The plus makes it a number-type again, as toFixed converts to string.
console.log(foo); // 25.33

编辑:小数舍入作为预期的副作用发生:

foo = 25.127;
foo = +foo.toFixed(2); 
console.log(foo); // 25.13

整数保持不变:

foo = 23;
foo = +foo.toFixed(2);
console.log(foo); // 23
于 2013-03-26T22:02:40.797 回答