当添加到字符串/传递给文件时,变量在小数点后丢失字符

时间:2017-08-08 16:58:31

标签: jquery

我有代码

total = parseFloat($(this).find('data').attr("total")),
cnvtdtotal = total.toFixed(2),

取数字(比如345)并将其变成一个带有2位小数的位置(所以,345.00),然后我用它来显示在DOM中。

在JS文件的下方,我创建了一个文件。

当我将其添加到字符串中并传递字符串以创建文件时,小数点会再次丢失(因此,好像我使用的是total而不是cnvtdtotal)。

var file = [someOtherdata + '","' + andSomemore + '","' + cnvtdtotal +  '"',].join('\n');

如何将345.00输出保留在文件中?

3 个答案:

答案 0 :(得分:0)

好的,所以它不是代码,它用来打开它的程序。 Excel显示错误。数字显示正确。抱歉浪费每个人的时间

答案 1 :(得分:-1)

首先,浮点数没有尾随小数,因此要获得那些需要将结果转换为字符串的结果。

此功能应该可以满足您的需求:

Number.prototype.formatMoney = function(c, d, t){
    var n = this, 
        c = isNaN(c = Math.abs(c)) ? 2 : c, 
        d = d == undefined ? "." : d, 
        t = t == undefined ? "," : t, 
        s = n < 0 ? "-" : "", 
        i = String(parseInt(n = Math.abs(Number(n) || 0).toFixed(c))), 
        j = (j = i.length) > 3 ? j % 3 : 0;
       return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
     };

称之为: (123456789.12345).formatMoney(2, '.', ',');

(123456789.12345).formatMoney(2, '.', '');

在此处查看此操作:https://jsfiddle.net/tgdyumbd/

答案 2 :(得分:-1)

您可以使用Number对象的toFixed方法,或者将数字视为字符串。

entry.get()