论坛首页 编程语言技术论坛

价格格式化

浏览 9285 次
锁定老帖子 主题:价格格式化
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-12-06  
PHP
最近网站上因为显示的价格长度太长。导致页面乱掉。美工不调试。让程库上处理一下,小数位后面为0,就不显示0。

我看了一下。一般价格都是整数的。网页显示为:298.00等。地确.00很占地方。

现在修改方案为:
298.00格式化后显示298
298.50格式化显示为298.5
298.54格式化显示298.54

最开始想到的解决方法是用substr截掉小数位后面的,然后一位一位的判断(很笨的想法,还好没去实现)。后来翻了php手册发现很好用的方法,推荐一下
<?
function cutzero($value) { 
    return preg_replace("/(\.\d+?)0+$/", "$1", $value)*1;
}
?>

Some examples:

<?
cutzero("4.7600");     // returns 4.76
cutzero("4.7604")      // returns 4.7604
cutzero("4.7000");     // returns 4.7
cutzero("4.0000");     // returns 4
?> 

   发表时间:2011-12-06  
用函数
<?php
echo round(3.4);         // 3
echo round(3.5);         // 4
echo round(3.6);         // 4
echo round(3.6, 0);      // 4
echo round(1.95583, 2);  // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2);    // 5.05
echo round(5.055, 2);    // 5.06
0 请登录后投票
   发表时间:2011-12-06  
phper.yang 写道
用函数
<?php
echo round(3.4);         // 3
echo round(3.5);         // 4
echo round(3.6);         // 4
echo round(3.6, 0);      // 4
echo round(1.95583, 2);  // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2);    // 5.05
echo round(5.055, 2);    // 5.06


round把价格四舍五入了,而且后面还要带保留几位小数。
0 请登录后投票
   发表时间:2011-12-19   最后修改:2011-12-19
这个方法看起来很不实用啊, 就算是占位的.00一般也是为格式精度和美观加上的, 如果非要这样做, 可以试试用类型强制转换.
echo (float) "123.4500";
echo floatval("123.4500");
0 请登录后投票
   发表时间:2011-12-23  
js来做处理呗
0 请登录后投票
   发表时间:2011-12-26  
jinhanjiang 写道
最近网站上因为显示的价格长度太长。导致页面乱掉。美工不调试。让程库上处理一下,小数位后面为0,就不显示0。

我看了一下。一般价格都是整数的。网页显示为:298.00等。地确.00很占地方。

现在修改方案为:
298.00格式化后显示298
298.50格式化显示为298.5
298.54格式化显示298.54

最开始想到的解决方法是用substr截掉小数位后面的,然后一位一位的判断(很笨的想法,还好没去实现)。后来翻了php手册发现很好用的方法,推荐一下
<?
function cutzero($value) { 
    return preg_replace("/(\.\d+?)0+$/", "$1", $value)*1;
}
?>

Some examples:

<?
cutzero("4.7600");     // returns 4.76
cutzero("4.7604")      // returns 4.7604
cutzero("4.7000");     // returns 4.7
cutzero("4.0000");     // returns 4
?> 



这些归划给前端处理比较好,用样式控制显示
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics