微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 从价格中删除无关零的有效方法?

我将价格存储到五位小数的精度,例如:

1.95000
2.25000
0.01150
2.10000
2.00000

显示价格时,我想显示标准的$X.XX格式,如果其余数字只是零,但如果有有效数字,那么我不想删除它们(所以我不能简单使用number_format()).

例如,上述价格应显示为:

1.95
2.25
0.0115
2.10
2.00

这个过程必须在每页数百个价格上完成.以这种方式格式化数字的有效方法是什么?

解决方法:

这有点难看,但它确实起作用:

function formatPrice($price) {
    $out = (float)$price; // Trim off right-hand 0's
    $out = "$out"; // Typecast back to string
    if ((strlen($out) - strpos($out, '.')) <= 2) { // Test for string length after decimal point
        $out = number_format($out, 2); // Format back with 0's
    }
    return $out;
}

现在测试…… Works!

由于@ FuzzyTree的回答,这是我的另一个评论中的单行函数

function formatPrice($price) {
    return substr($price, 0, strpos($price, '.') + 3) . rtrim(substr($price, strpos($price, '.') + 3), '0');
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐