Javascript 使用jquery将减号替换为括号()

Javascript 使用jquery将减号替换为括号(),javascript,jquery,Javascript,Jquery,--html-- A. B A. B --jquery-- $('.tabledata').empty(); 对于(变量i=0;i

--html--


A.
B
A.
B
--jquery--

$('.tabledata').empty();
对于(变量i=0;i

结果带有负值,如-245.1,-897.7。我想把它们改为(245.1)和(897.7)。我已尝试过。替换函数,但无法使其工作。

您可以在创建
abc
本身时使用
Math.abs

 $('.tabledata').empty();
for (var i = 0; i < result.length; i++) {
                var abc = '<tr><td>' + result[i]['a'] + '</td><td>' + result[i]['b'] + '</td></tr>'
                //var results = abc.replace(/-(.*)/, "()");

                $('.tabledata').append(abc);
}
注意


+s<0
,在比较前将
s
转换为数字,如果s的类型为
“string”

@FedericoklezCulloca是,也添加了这一点,谢谢。这确实假设所有结果都是负数,因此需要括号。不确定海报是否需要返回无括号的非负面结果。不清楚。为什么它在Internet Explorer中不起作用。IE不支持ECMAscript。您能推荐其他所有浏览器都支持的解决方案吗?IE不支持ThanksArrow函数。是否还要将非负值用括号括起来?否。正值不能写在括号内
 $('.tabledata').empty();
for (var i = 0; i < result.length; i++) {
                var abc = '<tr><td>' + result[i]['a'] + '</td><td>' + result[i]['b'] + '</td></tr>'
                //var results = abc.replace(/-(.*)/, "()");

                $('.tabledata').append(abc);
}
var a  = "(" + Math.abs( result[i]['a'] ) + ")";
var b  = "(" + Math.abs( result[i]['b'] ) + ")";
var abc = '<tr><td>' + a + '</td><td>' + b + '</td></tr>'
var fnAbs = ( s ) => "(" + Math.abs( s ) + ")";
var abc = '<tr><td>' + fnAbs( result[i]['a'] ) + '</td><td>' + fnAbs( result[i]['b'] )  + '</td></tr>';
var fnAbs = ( s ) => +s < 0 ? "(" + Math.abs( s ) + ")" : s;