字符串格式化Javascript

时间:2014-04-14 14:20:50

标签: javascript ajax arrays string-formatting

我有一个显示日期和转换的数组。我想添加+"%"转换后但我不能让它工作。我知道因为我正在使用数组我无法在任何地方添加它。什么是添加+"%"的好方法。在ConversionRate之后?

function (data) {
    var tdata = new google.visualization.DataTable();

    tdata.addColumn('date', 'Date');
    tdata.addColumn('number', 'Conversion');

    for (var i = 0; i < data.length; i++) {
        var dateStr = data[i].Date.substr(0, 4) + "-" + data[i].Date.substr(4, 2) + "-" + data[i].Date.substr(6, 2);
        tdata.addRow([new Date(dateStr), Number(data[i].ConversionRate)]);
    }
}

2 个答案:

答案 0 :(得分:1)

这可能有用:

tdata.addRow([new Date(dateStr), Number(data[i].ConversionRate) + "%"]);

但你可能需要更换:

tdata.addColumn('number', 'Conversion');

使用:

tdata.addColumn('string', 'Conversion');

或者,更好的选择,Jamiec mentioned,将使用formatter

var formatter = new google.visualization.NumberFormat({suffix: '%'});
formatter.format(tdata, 0);

答案 1 :(得分:-1)

扩展javascript的String对象...

像这样:

String.prototype.withPct = function(){
  return this + '%';
};

然后像这样使用它:

var pct = '9';
var withPercent = pct.withPct();

withPercent将是:'9%'

但看起来您可能想要扩展Number,在这种情况下,您会:

Number.prototype.withPct = function(){
  return this + '%';
};

Here is a fiddle