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