本文目录一览:
- 请高手帮个忙,在php中number_format() 的功能是什么,怎么用,如果可以请给我几个实例,致上!
- 如何实现 php 在线取号
- PHP实现数字补零功能的2个函数介绍
- 自定义名为Number的类,用于实现两个数字的四则运算。PHP!在线等!急!
- 用php使数字保留小数点后两位怎么做的?
请高手帮个忙,在php中number_format() 的功能是什么,怎么用,如果可以请给我几个实例,致上!
number_format()
函数通过千位分组来格式化数字。
特别注意: 该函数支持一个、两个或四个参数(不是三个)。
<?php
echo number_format("5000000")."<br>";
echo number_format("5000000",2)."<br>";
echo number_format("5000000",2,",",".");
?>
运行后的结果:
5,000,000
5,000,000.00
5.000.000,00
语法
number_format(number, decimals, decimalpoint, separator)
参数说明:
- number:必需。要格式化的数字。如果未设置其他参数,则数字会被格式化为不带小数点且以逗号(,)作为千位分隔符。
- decimals:可选。规定多少个小数。如果设置了该参数,则使用点号(.)作为小数点来格式化数字。
- decimalpoint:可选。规定用作小数点的字符串。
- separator:可选。规定用作千位分隔符的字符串。仅使用该参数的第一个字符。比如 "xxx" 仅输出 "x"。注释:如果设置了该参数,那么所有其他参数都是必需的。
如何实现 php 在线取号
取号的用户需要登录他自己的账号吗?如果需要,那要判断一下,这个用户是否已经取号?
如果不需要,那么就和银行一样,一个人可能会取多次号。
与银行类似,可以设计一个数据库表格:get_number
id
(主键,自增)日期
(取号当天有效)获取的号码
(不可以重复)获取时间
当前正在处理的号码
(用此字段判断还要等候多少人) 如果是用户登录之后的操作,可以再加一个字段:用户名(或者其他的可以唯一判断一个用户的字段)。 当一个用户来到取号页面,点击某个按钮,比如:“取号”,那么你就到数据库里面获取当前最大的号码,然后加1,再把取号的相关字段插入到数据库中,就完成取号了。 只是大概思路,可以根据你的需求来详细的编写程序。
PHP实现数字补零功能的2个函数介绍
在PHP中至少有两个函数能够帮助我们快速实现数字补零:
首先是 PHP 的 str_pad
函数:
string str_pad (
string $input,
int $pad_length
[, string $pad_string = " "
[, int $pad_type = STR_PAD_RIGHT ]]
)
常用参数说明:
$input
:待填补的字符串$pad_length
:填补后的长度$pad_string
:填补字符串$pad_type
:填补位置,有以下选项:STR_PAD_LEFT
:左边填充STR_PAD_RIGHT
:右边填充STR_PAD_BOTH
:两端填充
实例展示:
echo str_pad(1,8,"0",STR_PAD_LEFT); // 结果:00000001
echo str_pad(1,8,"0",STR_PAD_RIGHT); // 结果:10000000
echo str_pad(1,8,"0",STR_PAD_BOTH); // 结果:00010000
在上边的例子中值得注意的一个细节是,如果填补的位数是个奇数,例如例三中填补了7个0,右边优先。 下面再看下补零的另外一种方法:PHP 的
sprintf
函数:
# sprintf — 返回一个格式化字符串
这个函数用起来比较灵活,有待学者们深挖,这里主要讲实现数值左边补零(或者在小数点后补零)的处理方式。
左边补零
echo sprintf("%05d",1);
// %05d的意思:用一个5位数的数字格式化后边的参数,如果不足5位就补零
// 运行结果是 00001
小数点后补零
echo sprintf("%01.3f",1);
// %01.3f的意思:用一个小数点后最少三位不足三位补零,小数点前最少一位,不足一位补零的浮点数格式化后边的参数
// 运行结果是:1.000
另外还可以自己编写一个自定义函数进行处理; 编写代码各有所优也有所劣,大家可以任选适合的;
注:
sprintf
能够保证不至于误操作把 1 补成 1000000,str_pad
可以保证想补啥补啥。
自定义名为Number的类,用于实现两个数字的四则运算。PHP!在线等!急!
<?php
class Number {
private $na;
private $nb;
private $symbol;
private $result;
function __construct() {
}
public function getResult($_na, $_nb, $_symbol) {
$this->na = $_na;
$this->nb = $_nb;
$this->symbol = $_symbol;
switch ($this->symbol) {
case '+':
$this->symbol = '+';
echo "$this->na + $this->nb = " . $this->result = $this->na + $this->nb;
break;
case '-':
$this->symbol = '-';
echo "$this->na - $this->nb = " . $this->result = $this->na - $this->nb;
break;
case '*':
$this->symbol = '*';
echo "$this->na * $this->nb = " . $this->result = $this->na * $this->nb;
break;
case '/':
$this->symbol = '/';
$this->check($this->nb);
break;
default:
$this->symbol = '+';
echo "$this->na + $this->nb = " . $this->result = $this->na + $this->nb;
}
}
private function check($_nb) {
$this->nb = $_nb;
if ($this->nb == 0) {
echo "除数不能为零!";
} else {
echo "$this->na / $this->nb = " . $this->result = $this->na / $this->nb;
}
}
}
$js = new Number();
$js->getResult(3, 2, "*"); // 符号为 + - * /
?>
用php使数字保留小数点后两位怎么做的?
PHP 中的 round()
函数可以实现。
round()
函数对浮点数进行四舍五入。
语法
round(x, prec)
参数说明:
x
:可选。规定要舍入的数字。prec
:可选。规定小数点后的位数。 返回将x
根据指定精度prec
(十进制小数点后数字的数目)进行四舍五入的结果。prec
也可以是负数或零(默认值)。
注释:PHP 默认不能正确处理类似 "12,300.2" 的字符串。
示例:
<?php
echo round(-4.635, 2);
?>
输出:
-4.64