繁体   English   中英

将字符串字号转换为字符串数字php

[英]Convert string word number into string number php

我有一个数字是一个值为“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

在耶稣所说的基础上,构建这些数字的一个简单功能是:

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等。

为什么不拆分字符串,在数组中搜索“MILLION”子字符串,然后将其换成“000,000”,然后将它们全部重新组合在一起? 我想你可以使用空格进行拆分。

如果你只有百万号,那么使用:

$number = str_replace(' million', '000000', $number);

不知道PHP,但有一个算法

“5300万,二十万,八百”的算法:

大小字符串翻译表= [{“百万”,1000000},{“千”,1000}等...]
counter = 0
- 从字符串顶部到结束:
----直到逗号
------扫描整数 - “53”
------扫描尺寸字符串 - “百万”
------按大小字符串翻译乘以整数 - “53 * 1000000”
------加入主柜台 - 柜台+ =“53000000”
- - 环
- 结束

取决于你的问题的例子你的真实情况可能是:将53 MILLION 39 TOUSEND 334转换为53,039,334等。

因此算法将标记一个字符串,无论数字可用,在堆栈上记住它。 无论THOUSEND, MILLION, etc.THOUSEND, MILLION, etc.一个可用,都可以将堆叠上的内容相乘并添加到数字中。 最后添加没有乘法的东西。 然后你有号码。

将数字转换为数字字符串(53039334),并在每个3位数字添加昏迷后从最后开始,在这里你有你需要的东西:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM