我如何显示正数,例如3为+3,负数如-5为-5?所以,如下:
1,2,3进入+1,+ 2,+ 3
但如果那些是
-1,-2,-3然后进入-1,-2,-3
答案 0 :(得分:31)
您可以使用这样的简单表达式:
(n<0?"":"+") + n
如果数字为正数,条件表达式会产生加号,如果数字为负数,则产生空字符串。
您尚未指定如何处理零,因此我假设它将显示为+0
。如果您想将其显示为0
,请改为使用<=
运算符:
(n<=0?"":"+") + n
答案 1 :(得分:19)
// Forces signing on a number, returned as a string
function getNumber(theNumber)
{
if(theNumber > 0){
return "+" + theNumber;
}else{
return theNumber.toString();
}
}
这将为你做。
答案 2 :(得分:4)
printableNumber = function(n) { return (n > 0) ? "+" + n : n; };
答案 3 :(得分:3)
写一个js函数来为你做这个吗?
类似
var presentInteger = function(toPresent) {
if (toPresent > 0) return "+" + toPresent;
else return "" + toPresent;
}
你也可以使用条件运算符:
var stringed = (toPresent > 0) ? "+" + toPresent : "" + toPresent;
Thanx对评论指出“ - ”+ toPresent会把双倍 - 放在字符串上....
答案 4 :(得分:1)
function format(n) {
return (n>0?'+':'') + n;
}
答案 5 :(得分:0)
类似于:
if (num > 0)
{
numa = "+" + num;
}
else
{
numa = num.toString();
}
然后打印字符串numa
。
答案 6 :(得分:0)
['','+'][+(num > 0)] + num
或
['','+'][Number(num > 0)] + num
它是一种比三元运算符更短的形式,它基于将boolean强制转换为数字0或1,并将其用作带有前缀的数组的索引,对于大于0的数字,则使用前缀'+'>
答案 7 :(得分:0)
现代语法解决方案。
它还在符号和数字之间包含一个空格:
function getNumberWithSign(input) {
if (input === 0) {
return "0"
}
const sign = input < 0 ? '-' : '+';
return `${sign} ${Math.abs(input)}`;
}
答案 8 :(得分:0)
尽管使用三元运算符可以说更实用,但这是另一种有趣的方式:
'+'.repeat(number >= 0) + number
或者这个:
[['+'][number & 0x80000000], number].join('')
答案 9 :(得分:0)
现代解决方案是使用 Intl.NumberFormat
const myNumber = 5;
new Intl.NumberFormat("en-US", {
signDisplay: "exceptZero"
}).format(myNumber);
取决于 myNumber
是什么,它将显示正号或负号,除非它是 0。