Search code examples
javascriptajaxarraysstring-formatting

String formatting Javascript?


I have an array that displays Date and Conversion. I want to add +"%" after conversion but i cant get it to work. I know as im using an array i cant add this wherever i want. What would be a good way to add + "%" after 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)]);
    }
}

Solution

  • This would probably work:

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

    But you might have to replace:

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

    With:

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

    Or, a better option, as Jamiec mentioned, would be to use the formatter:

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