首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在PHP中将单词转换为数字

在PHP中将单词转换为数字
EN

Stack Overflow用户
提问于 2009-07-03 02:55:25
回答 6查看 21.8K关注 0票数 21

我正在尝试将写为单词的数值转换为整数。例如,"iPhone有230783个应用程序“将变成"iPhone as 230783个应用程序”。

在开始编码之前,我想知道是否存在用于此转换的函数/代码。

EN

Stack Overflow用户

回答已采纳

发布于 2009-07-03 03:26:31

有很多页面讨论了从数字到单词的转换。对于相反的方向,没有那么多。我能找到的最好的东西就是Ask Yahoo上的一些伪代码。关于一个很好的算法,请参阅http://answers.yahoo.com/question/index?qid=20090216103754AAONnDz

嗯,总的来说,您正在做两件事:查找标记(可转换为数字的单词)和应用语法。简而言之,您正在为一种非常有限的语言构建一个解析器。

您需要的令牌包括:

力量:千、百万、十亿

百:百

十:二十,三十..。九十

一,二,三,..。九,

特别:十,十一,十二,..。十九

(去掉任何“和”,因为它们没有意义。将连字符拆分为两个标记。即六十五应按“六十”“五”处理)

对字符串进行标记化后,从右向左移动。

  1. 从右侧抓取所有令牌,直到命中一个幂或整个字符串。
  2. 解析以下模式的停止点之后的令牌:

特别

单元

十个单元

单元百

单元百特别

单元一百一十

单位百个单位

单元110单元

(这假设此语法中不允许使用“1700”)

这将为您提供数字的最后三位数。

  • 如果您在整个字符串处停止,则结束。

  • 如果您在电源处停止,请从步骤1重新开始,直到您达到更高的幂或整个字符串。
票数 22
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1077600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档