nodef/extra-number

View on GitHub
unused/_toWesternSystem.txt

Summary

Maintainability
Test Coverage
/**
 * Converts number to Western system (text).
 * @param {number} n a number
 * @param {string} sep separator (,)
 */
function toWesternSystem(n, sep=',') {
  // 1. check stringified number
  var N = n.toString();
  var s = N[0]==='-'? 2:1;
  var I = (N.indexOf('.')+1||N.length+1)-1;
  // 2. get before decimal
  var i = s+((I-s) % 3), z = N.substr(0, i);
  for(; i<I; i+=3)
    z += sep+N.substr(i, 3);
  // 3. get after decimal
  if(I<N.length) z += N.substr(I, 4);
  for(var i=I+4, I=N.length; i<I; i+=3)
    z += sep+N.substr(i, 3);
  return z;
};
module.exports = toWesternSystem;