Search code examples
javascriptincrement

JavaScript increment of the the last decimal number


I'm trying to to increment the last decimal of a number from 1.234 to 1.235

var numb = 1.234;
numb.replace(/\d$/, numb + 1);

or let just say that the problem is like following

var oNumber = 1.34567 
var oDecimalCount = 5 

increaseNumber(oNumber, oDecimalCount){ 
oNumber += //increase the 5th(oDecimalCount) decimal place 
}

Solution

  • You could do this :

    • count the numbers after the decimal point
    • use this number to remove the decimal point * 10^n
    • add 1
    • use the number to place the decimals back in place / 10^n

    //I found this function here : https://www.tutorialspoint.com/decimal-count-of-a-number-in-javascript
    const decimalCount = num => {
       // Convert to String
       const numStr = String(num);
       // String Contains Decimal
       if (numStr.includes('.')) {
          return numStr.split('.')[1].length;
       };
       // String Does Not Contain Decimal
       return 0;
    }
    
    let numb = 1.234;
    let count = decimalCount(numb);
    
    console.log(((numb * 10 ** count) + 1) / 10 ** count);