转换号码 |整数到单词
Posted
技术标签:
【中文标题】转换号码 |整数到单词【英文标题】:Convert number | integer to words 【发布时间】:2018-03-09 13:07:23 【问题描述】:我想将整数转换为单词,例如:29 将变为 TWENTY NINE,50 将变为 FIFTY。如何使用 php 实现这一点?
这是我目前所拥有的,但它没有提供所需的输出。
$fees_so = $form_data_fees['field']['4'];
$feesInWords = strval($fees_so);
echo $feesInWords;
【问题讨论】:
php.net/manual/en/function.strval.php - 此函数不对返回值执行任何格式设置。如果您正在寻找一种将数值格式化为字符串的方法,请参阅 sprintf() 或 number_format()。 你调试$form_data_fees['field']['4']
了吗? $form_data_fees['field']
包含什么?请将该数组的数据示例添加到您的问题中。
请检查这个***链接***.com/questions/17633985/…。它应该可以解决您的问题。刚刚测试过......
$fees_so 变量返回从 php 表单中选择的 £29。
@LalbhusanYadav 还有比这更好的方法。
【参考方案1】:
您可以将NumberFormatter 类与SPELLOUT
一起使用:
$nf = new NumberFormatter("en", NumberFormatter::SPELLOUT);
echo $nf->format(1999); // one thousand nine hundred ninety-nine
【讨论】:
【参考方案2】:我最终找到了一个使用来自@aniket-sahrawat 的代码并稍作调整的解决方案
这是代码,以防将来有人需要...
<?php
$fees_so = $form_data_fees['field']['4'];
$words = filter_var($fees_so, FILTER_SANITIZE_NUMBER_INT);
$nf = new NumberFormatter("en", NumberFormatter::SPELLOUT);
echo $nf->format($words);
?>
【讨论】:
【参考方案3】:假设你有一个数组:
$list_of_fees = array("£29", "£50", "£64");;
for($i = 0; $i < 3; $i++)
echo substr($list_of_fees[$i], 1) . " Pounds";
【讨论】:
以上是关于转换号码 |整数到单词的主要内容,如果未能解决你的问题,请参考以下文章