Skip to content

Instantly share code, notes, and snippets.

@elexfreeman
Created December 11, 2020 06:39
Show Gist options
  • Select an option

  • Save elexfreeman/da1fc267db1540bc4c9372597b5f33e3 to your computer and use it in GitHub Desktop.

Select an option

Save elexfreeman/da1fc267db1540bc4c9372597b5f33e3 to your computer and use it in GitHub Desktop.

Revisions

  1. elexfreeman renamed this gist Dec 11, 2020. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  2. elexfreeman created this gist Dec 11, 2020.
    51 changes: 51 additions & 0 deletions fNumToStr
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,51 @@

    /**
    * для форматирования валюты
    * @param n - число
    * @param r - сколько знаков после запятой
    */
    export const fNumToStr = (n: number, r?: number): string => {

    let resp = '0';
    if (r) {
    resp = n.toFixed(Number(r));
    } else {
    resp = n.toFixed(0)
    }

    resp = resp.replace('.', ',');

    // убераем лишние нули в конце
    let aD = resp.split(',');
    if (aD.length > 1) {
    let b = true;
    while (b) {
    if (aD[1][aD[1].length - 1] == '0') {
    aD[1] = aD[1].slice(0, -1);
    } else {
    b = false;
    }
    }

    }

    // раставляем пробелы посл е3-х знаков
    let aD0 = [];
    let k = aD[0].length - 1;
    while (k >= 0) {
    aD0.push(aD[0][k]);
    if ((aD[0].length - k) % 3 == 0 && (k != 0)) {
    aD0.push(' ');
    }
    k--;
    }

    aD[0] = aD0.reverse().join('');

    if (aD.length > 0 && aD[1] != '') {
    resp = aD.join(',');
    } else {
    resp = aD[0];
    }
    return resp;
    }