我有一个数字是一个值为“5300万”的字符串。
$number="53 MILLION";
我希望这个数字是53,000,000。怎么会这样做?我尝试使用number_format函数,但没有运气。
提前致谢!
$number="53 MILLION";
$number= str_replace($number, "MILLION", "000,000");
echo $number; //000,000 instead of 53,000,000
答案 0 :(得分:2)
在耶稣所说的基础上,构建这些数字的一个简单功能是:
function declare_number($number_string){
$find_replace = array(
' HUNDRED' => '00',
' THOUSAND' => ',000',
' MILLION' => ',000,000',
' BILLION' => ',000,000,000'
);
return str_ireplace(array_keys($find_replace),$find_replace,$number_string);
}
这也可以转换8万= 800,000等。
答案 1 :(得分:1)
为什么不拆分字符串,在数组中搜索“MILLION”子字符串,然后将其换成“000,000”,然后将它们全部重新组合在一起?我想你可以使用空格进行拆分。
答案 2 :(得分:1)
如果您只有百万号,请使用:
$number = str_replace(' million', '000000', $number);
答案 3 :(得分:0)
不懂PHP但有算法
“5300万,二十万,八百”的算法:
尺寸字符串翻译表= [{“百万”,1000000},{“千”,1000}等......]
counter = 0
- 从字符串顶部到结尾扫描:
----直到逗号
------扫描整数 - “53”
------扫描尺寸字符串 - “百万”
------按大小字符串翻译乘以整数 - “53 * 1000000”
------加入主柜台 - 柜台+ =“53000000”
----循环
--end
答案 4 :(得分:0)
取决于你的问题示例
你的真实情况可能是:
将53 MILLION 39 TOUSEND 334
转换为53,039,334
等。
因此,算法将标记一个字符串,无论数字可用,在堆栈上记住它。只要THOUSEND, MILLION, etc.
中有一个可用,就可以将堆叠上的内容相乘并添加到数字中。最后添加没有乘法的东西。那你有号码。
将数字转换为数字字符串(53039334),并且从每个3位数字后加上昏迷后,从这里开始,这里有你需要的东西:)