❶ php怎么把mysql里面的两位数字前面补一个0变成三位显示,如图
我大概明白的你的问题,有几个解决的办法
1, 该字段改成字符串类型
2. 如果该字段保证为3位, 该字段设置Zeroill
3. 页面输出的时候做处理, <100 补前缀
❷ PHP怎样在不足两位数前加 0 补足两位数
最笨最实用的办法:
<?php
for($i=1;$i<=120;$i++){
if(strlen($i)==1){
echo"00".$i."<br/> ";
}elseif(strlen($i)==2){
echo"0".$i."<br/> ";
}else{
echo$i."<br/> ";
}
}
?>
❸ php 数组里的数字前补0,应该如果写
思路给你提供一下 循环一下 然后strlen
如果为1则补0
补的方法有两种 所有的值写入新数组
或者 &$value
❹ php mysql 数据按月统计 没有的月份怎样补0
没有的月份是不是没有数据记录,原始表中如果有相应月份的时间,并且estimated_cost字段数据是0,这句话应该能显示。
如果没有9月份的addtime的记录,肯定搜不出来。
但是在数据库中添加一个为0的记录又没有什么意义,所以如果要显示0,可以用php操作Select的结果
【思路:将结果存入数组,对month排序,从数组第一个月份开始,到数组中最后一个月份为止进行循环,碰到没有的月份在数组中插入对应月份和0值】
❺ php 我想写个循环 但是数字是3位的 就是 001 002 003 004 005 006 007 008 009 010 011 前面带有个零
php格式化数字:位数不足前面加0补足
先实例,后讲解
PHP代码
1.<?php
2.$var=sprintf("%04d", 2);//生成4位数,不足前面补0
3.echo $var;//结果为0002
4.?>
PHP字符串sprintf()函数
语法
sprintf(format,arg1,arg2,arg++)
参数 描述
format 必需。转换格式。
arg1 必需。规定插到 format 字符串中第一个 % 符号处的参数。
arg2 可选。规定插到 format 字符串中第二个 % 符号处的参数。
arg++ 可选。规定插到 format 字符串中第三、四等等 % 符号处的参数。
说明
参数 format 是转换的格式,以百分比符号 ("%") 开始到转换字符结束。下面的可能的 format 值:
•%% - 返回百分比符号
•%b - 二进制数
•%c - 依照 ASCII 值的字符
•%d - 带符号十进制数
•%e - 可续计数法(比如 1.5e+3)
•%u - 无符号十进制数
•%f - 浮点数(local settings aware)
•%F - 浮点数(not local settings aware)
•%o - 八进制数
•%s - 字符串
•%x - 十六进制数(小写字母)
•%X - 十六进制数(大写字母)
arg1, arg2, ++ 等参数将插入到主字符串中的百分号 (%) 符号处。该函数是逐步执行的。在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。
PHP代码
1.<?php
2.$number = 123;
3.$txt = sprintf("%f",$number);
4.echo $txt;
5.?>
循环很简单:
<?php
$number=0;
if($number<100)
{
$number=$number+1;
$txt=sprintf("%03d",$number);//生成3位数,不足前面补0
echo $txt;
}
?>
❻ php怎么将16进制浮点型数字转为十进制
步骤:
1、234.324转换为二进制 11101010.01010…… 这会损失精度,别说不知道
然后科学计数法表示为,1.1101……*2^7
2、127+指数7 二进制为10000110
3、【0】【10000110】【1101……】,0表示正数,中间为2步骤的二进制,后面为23位科学计数法中的小数点后数字,不足后面补0
4,每4位转换到一个16进制数,0100 0011 0110 ……转换
4 3 6 ……
❼ php数字字符串位数不足补0 $a="1,10,8,25,34"; 想得到的效果:01,10,08,25,34 请问怎样实现
就用到一个函数:strlen(),判断字符串长度:如果长度为1的就用“0”和原string组装一下;如果长度为2就正常返回即可;
❽ PHP几种数字左侧自动补0
1.[代码][PHP]代码
<?php
$sourceNumber="1";
$newNumber=substr(strval($sourceNumber+1000),1,3);
echo"$newNumber";
?>
/*这个时候就会出现:001
如果要增加位数的话可以将1000加大,然后把3也加大。
举例:如果我要补上"4个0"第03行就要变成这样。*/
2.[代码][PHP]代码
<?php
$newNumber=substr(strval($sourceNumber+100000),1,5);
?>
/*其实就是总共要显示几位数字,就把$sourceNumber+1后面补上多少个0,最后一个数字就直接改成显示几位数字。*/
3.[代码][PHP]代码
/*stringstr_pad(string$input,int$pad_length[,string$pad_string[,int$pad_type]])*/
<?php
$input="Alien";
echostr_pad($input,10);
//proces"Alien"
echostr_pad($input,10,"-=",STR_PAD_LEFT);
//proces"-=-=-Alien"
echostr_pad($input,10,"_",STR_PAD_BOTH);
//proces"__Alien___"
echostr_pad($input,6,"___");
//proces"Alien_"
?>
/*补齐字符串的长度.以pad_string补.默认补在右边,如果STR_PAD_LEFT就补到左边,STR_PAD_BOTH两边一起补。下次用str_pad,毕竟是内置的,肯定比自定义的快。*/
4.[代码][PHP]代码
/*
你上面的方法我觉得不怎么好,介绍一下我写的一个方法。方法函数如下,这样当你要的结果001的话,方法:dispRepair('1',3,'0')
功能:补位函数
str:原字符串
type:类型,0为后补,1为前补
len:新字符串长度
msg:填补字符
*/
functiondispRepair($str,$len,$msg,$type='1'){
$length=$len-strlen($str);
if($length<1)return$str;
if($type==1){
$str=str_repeat($msg,$length).$str;
}else{
$str.=str_repeat($msg,$length);
}
return$str;
}
❾ 利用PHP随机出现0到1000的数,不足四位的前面用0补足
运行以下代码就可以得到0-1000的随机数:
$str=rand(0,1000);
$str1=sprintf("%04u",$str);
echo $str1;
❿ PHP语言PHP语言里的位运算符&、|、^ 、~、〈〈 、〉〉这些符号我一个也不懂,希望高手给个全面的解释!拜
"&" 按位与运算
按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。
例如:9&5可写算式如下:
00001001 (9的二进制补码)
&00000101 (5的二进制补码)
00000001 (1的二进制补码)
<?php
$a = 9;
$b = 5;
echo sprintf("%b", $a&$b);
?>
"|" 按位或运算
按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。
例如:9|5可写算式如下:
00001001
|00000101
00001101 (十进制为13)可见9|5=13
<?php
$a = 9;
$b = 5;
echo sprintf("%b", $a|$b)."\n"; //二进制
echo sprintf("%d", $a|$b)."\n"; //十进制
"^" 按位异或运算
按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现,例如9^5可写成算式如下:
00001001
^00000101
00001100 (十进制为12)
<?php
$a = 9;
$b = 5;
echo sprintf("%b", $a^$b)."\n"; //二进制
echo sprintf("%d", $a^$b)."\n"; //十进制
"~" 求反运算
求反运算符~为单目运算符,具有右结合性。其功能是对参与运算的数的各二进位按位求反。
例如~9的运算为:
~(0000000000001001)结果为:1111111111110110
<?php
$a = 9;
$b = 5;
echo sprintf("%b", ~$a)."\n"; //二进制
"〈〈" 左移运算
左移运算符“<<”是双目运算符。其功能把“<< ”左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0。
例如:
a<<4
指把a的各二进位向左移动4位。如a=00000011(十进制3),左移4位后为00110000(十进制48)。
<?php
$a = 3;
$temp = $a<<4;
echo sprintf("%d", $temp)."\n"; //十进制
“>>” 右移运算
右移运算符“>>”是双目运算符。其功能是把“>> ”左边的运算数的各二进位全部右移若干位,“>>”右边的数指定移动的位数。
例如:
设 a=48,
a>>4
表示把00110000右移为00000011(十进制3)。
应该说明的是,对于有符号数,在右移时,符号位将随同移动。当为正数时,最高位补0,而为负数时,符号位为1,最高位是补0或是补1 取决于编译系统的规定
<?php
$a = 48;
$temp = $a>>4;
echo sprintf("%d", $temp)."\n"; //十进制