javascript - 将英文数字转换为其数字值(忽略小数)

标签 javascript php converter

我想将'300万','24千','35万'等这些类型的值转换为数字。在 JavaScript(所以我可以在客户端)或 PHP(服务器端)中。有这个功能吗?像 PHP 的 strtotime() 函数?

input                  output
3 million              3000000
24 thousand            24000
350 thousand           350000

最佳答案

你也想把它们结合起来吗?

function convert(num) {
  function mapGroups(str) {
    if (/million/.test(str)) {
      return str.match(/\d+/)[0] * 1000000;
    }
    if (/thousand/.test(str)) {
      return str.match(/\d+/)[0] * 1000;
    }
    if (/hundred/.test(str)) {
      return str.match(/\d+/)[0] * 100;
    }
    return +str;
  }
  
  return num.match(/(\d+)( ?\w* ?)/g)
            .map(mapGroups)
            .reduce(function(p, c) { return p + c });
}

console.log(convert("3 million 240 thousand 7 hundred 54")) //3240754
console.log(convert("5 millions 7 hundreds 54")) //5000754

这是非常基础的,但您确实可以掌握。

关于javascript - 将英文数字转换为其数字值(忽略小数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31586924/

相关文章:

PHP : Does extending class need another 'use' to call namespace?

java - Vaadin 8 Converter 的行为与 Vaadin 7 Converter 不同(不更新 UI)?

c - 用C中的while替换for循环

php - 将文本区域按行转换为数组,然后使用 Jquery 将其附加到 div?

javascript - 当用户单击任何数字时停止计时器/自动流程

php - 创建过于简单的功能是不是不好的风格?

javascript - 缩进 JavaScript 文件的好工具

javascript - 包括 ActionController::Live 会中断现有的 AJAX 调用

javascript - 使用 YQL 以尽可能低的资源使用率(即最少的查询数量)执行图像抓取

php - MySQL:如何插入到 JSON 中间