关于金额转换

关键数字价格转换

怎么把

0.10 转换为0.01
10.10 转换为10.01
20.50 转换为20.05
30.10 转换为30.01
1.52 转换为1.25

就是把毛跟分调换下位置

阅读 2.1k
3 个回答
    <?php
    function part_res($float) {
        if(!is_float($float)) {
            return false;
        }
        $part_res = explode('.', number_format($float, 2));
        if(!isset($part_res[1])) {
            return $float;
        }
        return $part_res[0] . '.' . strrev($part_res[1]);
    }
    
    var_dump(part_res(1.30));

简单的就是用正则(\.)(\d)(\d) => $1$3$2
或者可以先用.号拆分,再用空串分隔,换位置再组合回来

上面答案是ok的,只是细节没注意:

'1.52'.replace(/(\d+)(\.)(\d)(\d)/g, ($1,$2,$3,$4,$5) => {return $2+$3+$5+$4})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题