如何将一个整数分成两个加数?

我需要将一个整数分成两个数字。 就像二分之一,但我只想要整数组件,如:

6 = 3 and 3 7 = 4 and 3 

我尝试了以下,但我不知道它是最好的解决scheme。

 var number = 7; var part1 = 0; var part2 = 0; if((number % 2) == 0) { part1 = number / 2; part2 = number / 2; } else { part1 = parseInt((number / 2) + 1); part2 = parseInt(number / 2); } 

这是我想要的,但我不认为这个代码是干净的。

有没有更好的方法来做到这一点?

只要find第一部分,并从原来的数字中减去它。

 var x = 7; var p1 = Math.round(x / 2); var p2 = x - p1; console.log(p1, p2); 

让JavaScript为你做math 。

 var x = 7; var p1 = Math.ceil(x / 2); var p2 = Math.floor(x / 2); console.log(p1, p2); 

你的代码可以简化一下:

 var num = 7; var p1 = Math.floor(num / 2); var p2 = p1; if (num % 2 != 0) { p1++; } console.log(p1, p2); 
 var num = 7; var part1 = parseInt(num/2); var part2 = num - part1; console.log(part1, part2); 
  var x = 11; var a = Math.ceil(x/2); var b = xa; console.log("x = " + x + " , a = " + a + " , b = " + b); 

或者这样:)

 var number = 7; var part1 = ~~((number / 2) + (number % 2)); var part2 = ~~(number / 2); console.log(part1, part2); 
 var n = 7; var p1 = (n - (n % 2)) / 2; var p2 = (n + (n % 2)) / 2; console.log(p1, p2);