Нужно конвертировать номер в валюту - PullRequest
0 голосов
/ 21 февраля 2019

В настоящее время используется код ниже для конвертации числа в валюту.Единственная проблема заключается в том, что если у меня есть 1000, это дает 1000, вместо этого мне нужно 1к.

Текущая реализация 1000 - 1000

Нужно 1000 - 1k

Многие пытались выполнить его, но не смогли решить.

var number = 12345678910;

var digits = 2;
var suffix = ["", "K.", "M.", "B."];

var nbDigits = parseInt(Math.log(number)/Math.LN10);
var power = nbDigits - nbDigits%3;

var tmp = number/ Math.pow(10, power);
var suffixIndex = Math.min(3, power/3);

var result = "$" + tmp.toFixed(digits) + " " + suffix[suffixIndex];

Я получил это решение от по этой ссылке

1 Ответ

0 голосов
/ 21 февраля 2019

Просто упростите вычисление количества цифр:

// From:
var nbDigits = parseInt(Math.log(number)/Math.LN10);

// To:
var nbDigits1 = Math.log10(number);

Это даст вам количество цифр без ошибок округления.Он возвращает $1.00 K. для 1000.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...