dragon0118 2014-04-27 02:55
浏览 16
已采纳

转换价格类型为xxx milion xxx千[复制]

This question already has an answer here:

I have to write a function to change a pricetype from (ex: 25400000) to 25 milion 400 thousand . I have a code but it just change when the price type is even (ex : 25000000) . Here is my code .

static public function priceFormat($number, $type ='vnd')
{
    $subfix = 'vnd';
    if ($type == 'vnd'){
        $temp = substr($number, -6, -1);
        if ($temp == '000000'){
            $number = str_replace("000000", '', $number);
            $subfix = 'million';
        }
    }
    while (true) {
        $replaced = preg_replace('/(-?\d+)(\d\d\d)/', '$1,$2', $number);
        if ($replaced != $number) {
            $number = $replaced;
        } else {
            break;
        }
    }
    if ($type != 'vnd')
        return $number.' '.$type;
    return $number.' '.$subfix;
}
</div>
  • 写回答

1条回答 默认 最新

  • doujiang1832 2014-04-27 03:27
    关注

    This code:

    $number = 25400055;
    
    $millionsRemainder = $number % 1000000;
    
    $millions = ($number - $millionsRemainder) / 1000000;
    
    $thousandsRemainder = $millionsRemainder % 1000;
    
    $thousands = ($millionsRemainder - $thousandsRemainder) / 1000;
    
    echo $millions . ' million ' . $thousands . ' thousands ' . ' and ' . $thousandsRemainder;
    

    Should output "25 million 400 thousands and 55"

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料