Преобразование сокращений чисел (5.2k, 1.7m и т. Д.) В действительные целые числа с помощью JavaScript - PullRequest
1 голос
/ 04 декабря 2011

У меня есть Google Doc со столбцом, содержащим различные цифры, написанные «стенограммой», например:

5k for 5,000
86.62k for 86,620
4.1m for 4,100,000
1.2b for 1,200,000,000

Я хотел бы провести некоторые вычисления с этими числами с помощью JavaScript (свободно используемого в Документах Google), но для этого мне нужно преобразовать их в действительные целые числа. Как я могу сделать это с помощью JavaScript?

Я вижу, что это было сделано в PHP ( Преобразование числовых сокращений (5.2k, 1.7m и т. Д.) В действительные целые числа с PHP ), но ничего не найдено с помощью JS.

Ответы [ 2 ]

0 голосов
/ 04 декабря 2011
function convert( number )
{
  var base = parseFloat( number );
  if ( number.toLowerCase( ).match( /k/ ) )
  {
    return Math.round( base * 1000 );
  }
  else if ( number.toLowerCase( ).match( /m/ ) )
  {
    return Math.round( base * 1000000 );
  }
  else if ( number.toLowerCase( ).match( /b/ ) )
  {
    return Math.round( base * 1000000000 );
  }
}
0 голосов
/ 04 декабря 2011

Удалите последний символ и проверьте его: если 'k', умножьте остаток строки на 1000, если 'm' на миллион.

...