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

时间:2012-01-13 19:12:20

标签: php html web

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

5 个答案:

答案 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位数字后加上昏迷后,从这里开始,这里有你需要的东西:)