代码之家  ›  专栏  ›  技术社区  ›  PatsonLeaner

如何在Ajax中将值格式化为货币或百分比

  •  1
  • PatsonLeaner  · 技术社区  · 6 年前

    将值从 ajax设置为百分比或货币的最佳方式是什么,将值显示为 table ?

    我目前正在开发一个应用程序,该应用程序具有来自 sql的money值,并且需要从 3569.09开始格式化

    我试过了 this 但是仍然没有帮助。

    这是JS我的代码:

    函数loadMarginBelow21()。{
    美元.ajax({
    网址:“/dashboard/marginbelow21”,
    键入:“get”,
    contenttype:“application/json;charset=utf-8”,
    数据类型:“json”,
    成功:功能(结果){
    var html='';
    $每个(结果、函数(键、项){
    HTML+='<tr>';
    html+='<td>'+item.stock+'</td>';
    html+='<td>'+item.price+'</td>';//必须在开头显示货币符号,如$5664.00
    html+='<td>'+item.source+'</td>';
    html+='<td>'+item.cost+'</td>';
    html+='<td>'+item.margin+'</td>';//必须在值结尾显示%
    //html+='<td><a href=“”onclick=“return getbyid('+item.stock+')”>编辑</a></td>';/<a href=“”onclick=“delele('+item.employeeid+')”>删除</a></td>';
    HTML+='<td>'+sdg+'</td>'
    HTML+='</tr>';
    (});
    $('.tbodym').html(html);
    }
    错误:函数(错误消息){
    警报(errormessage.responsetext);
    }
    (});
    }
    
    
    

    当前表格显示如下:

    .SQLServer需要格式化3569.09年3569.09美元还有来自二十四点五五24.55%.

    我试过了THIS但仍然没有帮助。

    这是JS我的代码:

    function loadMarginBelow21() {
        $.ajax({
            url: "/Dashboard/MarginBelow21",
            type: "GET",
            contentType: "application/json;charset=utf-8",
            dataType: "json",
            success: function (result) {
                var html = '';
                $.each(result, function (key, item) {
                    html += '<tr>';
                    html += '<td>' + item.Stock+ '</td>';
                    html += '<td>' + item.Price + '</td>'; //Must show Currency sign in the beguining like $5,664.00
                    html += '<td>' + item.Source + '</td>';
                    html += '<td>' + item.COST + '</td>';
                    html += '<td>' + item.Margin + '</td>'; // Must show % at the end of value
                    //html += '<td><a href="#" onclick="return getbyID(' + item.Stock+ ')">Edit</a></td>';// | <a href="#" onclick="Delele(' + item.EmployeeID + ')">Delete</a></td>';
                    html += '<td>' +sdg + '</td>'
                    html += '</tr>';
                });
                $('.tbodyM').html(html);
            },
            error: function (errormessage) {
                alert(errormessage.responseText);
            }
        });
    }
    

    当前表格显示如下:

    1 回复  |  直到 6 年前
        1
  •  3
  •   Robin Whittleton    6 年前

    Intl.NumberFormat 是你的朋友。使用区域设置和货币创建一个新的格式化程序(我假设您需要美元),它将生成格式化字符串。

    let formatter = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' });
    let price = formatter.format(item.Price);
    

    根据您的示例数据,似乎可以使用字符串串联将百分比添加到末尾。