【问题标题】:Round variable in Javascript Google SpreadsheetJavascript Google电子表格中的圆形变量
【发布时间】:2013-03-26 21:55:39
【问题描述】:

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

我的查询:

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 吗?

谢谢...

【问题讨论】:

    标签: javascript variables rounding


    【解决方案1】:

    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
    

    【讨论】:

    • 好吧,这看起来很合理。有没有办法说如果它是一个整数然后不管它,如果它是一个小数然后适用于Fixed?
    • 您不必这样做,因为+5.toFixed(2) 已经离开,产生5。如果你忽略前面的“+”,那么它会产生字符串5.00,但是如果你将它转换为一个数字(就像我对“+”所做的那样),那么你只会再次得到整数,“5” .
    猜你喜欢
    • 1970-01-01
    • 2013-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多