10

我想知道是否有一种巧妙的方法可以使用 PHP将其转换1/2, 1/4, 5/8为单词 ( )。half, quarter, five eighths

我有一个产品数据提要,需要根据名称为每个产品创建一个干净的 URL。有些测量值像 1/4",目前我换掉任何非字母/数字,在这种情况下留下“14”。将此分数转换为“四分之一”会更有用。

4

2 回答 2

2

如果你需要打印two by fiveone by four,我有办法。

  1. 用“/”爆炸你的号码。$nums= explode("/",$num)

  2. 使用此链接中的函数将数字转换为数字,

$ones= convert_number_to_words($nums[0]);

$two=  convert_number_to_words($nums[1]);

然后,echo $ones."by".$two; 输出。

于 2013-01-18T12:34:44.333 回答
2

不,没有巧妙的方法可以做到这一点。

你需要

  • 为分子实现一个整数到基数字符串转换器
  • 将其修改为分母的 int-to-ordinal-string 转换器(“第三”而不是“三”等,而不是将“二十三”变成“第二十三”)
  • 添加一些特殊情况(“第二”->“一半”,“第四”->“四分之一”,如果你不是美国人......“第一”->“”?)
  • 可以选择实现一个简化器,所以“2/4”=>“一半”而不是“两个季度”
  • 如有必要,不要忘记将分母复数!
于 2013-01-18T12:37:46.653 回答