使用 JavaScript 将数字缩写(5.2k、1.7m 等)转换为有效整数

发布于 2024-12-19 06:16:58 字数 451 浏览 0 评论 0原文

我有一个 Google 文档,其中有一列包含用“速记”编写的各种数字,例如:

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 完成的( 使用 PHP 将数字缩写(5.2k、1.7m 等)转换为有效整数),但使用 JS 却找不到任何内容。

I have a Google Doc with a column containing a variety of numbers written in "shorthand", for example:

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

I'd like to do some calculations with these numbers with JavaScript (loosely used by Google Docs), but I need to convert them into valid integers in order to do so. How could I do this with JavaScript?

I see this has been done in PHP ( Converting number abbreviations (5.2k, 1.7m, etc) into valid integers with PHP) but not finding anything with JS.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

晒暮凉 2024-12-26 06:16:58
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 );
  }
}
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 );
  }
}
杀手六號 2024-12-26 06:16:58

删除最后一个字符并检查它:如果“k”将字符串的其余部分乘以 1000,如果“m”乘以一百万。

Remove the last char and check it: if 'k' multiply the rest of the string by 1000, if 'm' by one million.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文