From 14cb45dda14b4c51a5bdcf6ea76e1354f24a8999 Mon Sep 17 00:00:00 2001 From: AtharvaThorve Date: Fri, 17 Jul 2020 19:11:28 +0530 Subject: [PATCH 1/3] reverse number snippet added --- snippets/reverseNumber.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 snippets/reverseNumber.md diff --git a/snippets/reverseNumber.md b/snippets/reverseNumber.md new file mode 100644 index 000000000..97d17ddb4 --- /dev/null +++ b/snippets/reverseNumber.md @@ -0,0 +1,22 @@ +--- +title: reverseNumber +tags: number,array,beginner +--- + +Reverses a number. +Use `Object.prototype.toString()` to convert number to a string. +Use the split function `String.prototype.split()` to convert string to array and `Array.prototype.reverse()` to reverse the order of the characters in the string. +Combine characters to get a string using `String.prototype.join('')`. +Use the `parseInt()` to convert string to a number and use `Math.sign()` to preserve the signum value of the number. + +```js +const reverseNumber = n => { + const reveresedNumber = n.toString().split('').reverse(); + return parseInt(reveresedNumber) * Math.sign(n); +} +``` + +```js +reverseNumber(981); // 189 +reverseNumber(-500); // -5 +``` \ No newline at end of file From 34e60a73c8fdcd6d392b5cd9f1cc9b59b564854d Mon Sep 17 00:00:00 2001 From: AtharvaThorve Date: Sat, 18 Jul 2020 10:24:48 +0530 Subject: [PATCH 2/3] floating point numbers handled --- snippets/reverseNumber.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/snippets/reverseNumber.md b/snippets/reverseNumber.md index 97d17ddb4..dd36ed6f8 100644 --- a/snippets/reverseNumber.md +++ b/snippets/reverseNumber.md @@ -7,16 +7,19 @@ Reverses a number. Use `Object.prototype.toString()` to convert number to a string. Use the split function `String.prototype.split()` to convert string to array and `Array.prototype.reverse()` to reverse the order of the characters in the string. Combine characters to get a string using `String.prototype.join('')`. -Use the `parseInt()` to convert string to a number and use `Math.sign()` to preserve the signum value of the number. +Use the `parseFloat()` to convert string to a number and use `Math.sign()` to preserve the signum value of the number. +_Note_: Here `parseFloat()` is used instead of `parseInt()` so floating point numbers are properly handled. ```js const reverseNumber = n => { - const reveresedNumber = n.toString().split('').reverse(); - return parseInt(reveresedNumber) * Math.sign(n); + const reveresedNumber = n.toString().split('').reverse().join(''); + return parseFloat(reveresedNumber) * Math.sign(n); } ``` ```js reverseNumber(981); // 189 reverseNumber(-500); // -5 +reverseNumber(73.6); // 6.37 +reverseNumber(-5.23); // -32.5 ``` \ No newline at end of file From 72b124d04cd627824565ca772b7b6b9913538bf0 Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Wed, 16 Sep 2020 15:56:59 +0300 Subject: [PATCH 3/3] Update reverseNumber.md --- snippets/reverseNumber.md | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/snippets/reverseNumber.md b/snippets/reverseNumber.md index dd36ed6f8..eed5abbd5 100644 --- a/snippets/reverseNumber.md +++ b/snippets/reverseNumber.md @@ -1,20 +1,17 @@ --- title: reverseNumber -tags: number,array,beginner +tags: number,string,beginner --- Reverses a number. -Use `Object.prototype.toString()` to convert number to a string. -Use the split function `String.prototype.split()` to convert string to array and `Array.prototype.reverse()` to reverse the order of the characters in the string. -Combine characters to get a string using `String.prototype.join('')`. -Use the `parseFloat()` to convert string to a number and use `Math.sign()` to preserve the signum value of the number. -_Note_: Here `parseFloat()` is used instead of `parseInt()` so floating point numbers are properly handled. + +- Use `Object.prototype.toString()` to convert `n` to a string. +- Use `String.prototype.split('')`, `Array.prototype.reverse()` and `String.prototype.join('')` to get the reversed value of `n` as a string. +- Use `parseFloat()` to convert the string to a number and `Math.sign()` to preserve its sign. ```js -const reverseNumber = n => { - const reveresedNumber = n.toString().split('').reverse().join(''); - return parseFloat(reveresedNumber) * Math.sign(n); -} +const reverseNumber = n => + parseFloat(`${n}`.split('').reverse().join('')) * Math.sign(n); ``` ```js @@ -22,4 +19,4 @@ reverseNumber(981); // 189 reverseNumber(-500); // -5 reverseNumber(73.6); // 6.37 reverseNumber(-5.23); // -32.5 -``` \ No newline at end of file +```