
正文
php获取浮点数据类型 php获取字符
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
PHP将一个变量转换成float的几种方法
float指的是浮点型 变量转换成浮点型有以下方法
$str = 'NaN';
// float只能转换前面带数字的字符串
echo (float) $str;
echo 'br/';
echo floatval($str);
echo 'br/';
// is_numeric 只能判断是不是数值类型,并不能准确判断是否是浮点类型
echo is_numeric($str) ? $str : '0.00';
echo 'br/';
// 做一个加法运算也可以达到效果
echo (float) ($str + 0);
echo 'br/';
// 可以准确判断一个变量是不是浮点类型。
echo filter_var($str, FILTER_VALIDATE_FLOAT) ? filter_var($str, FILTER_VALIDATE_FLOAT) : 'false';
echo 'br/';
// round四舍五入,返回了0,但并没有保留2位小数
echo round($str,2);
echo 'br/';
相关问答
Q1: PHP中有几种主要的数据类型,通俗的解释一下他们
数据类型有三种:
1.标量数据类型
标量数据类型包括以下几种。
(1)booleanphp获取浮点数据类型:布尔型
布尔变量是PHP变量中最简单php获取浮点数据类型的。它保存一个True或者False值。其中True或者False是PHP的内部关键字。设定一个布尔型的变量php获取浮点数据类型,只需将True或者False赋值给该变量
(2)string:字符串
字符串是连续的字符序列,字符串中的每个字符只占用一个字节。在PHP中,定义字符串有3种方式:
单引号方式,
双引号方式,
Heredoc方式。
(3)integer:整数
整数数据类型只能包含整数。这些数据类型可以是正数或负数。在32位的操作系统中,有效的范围是−2 147 483 648~+2 147 483 647。
(4)double:浮点数
浮点数据类型可以用来存储数字,也可以保存小数。它提供的精度不整数大得多。在32位的操作系统中,有效的范围是1.7E-308~1.7E+308。
2.复合数据类型
复合数据类型包括以下两种。
(1)array:数组
可以是二维、三维或者多维,数组中的各元素可以是string、integer或double,也可以是array。
(2)object:对象类型
3.特殊数据类型
特殊数据类型包括以下两种。
(1)resource:资源
资源是PHP内的几个函数所需要的特殊数据类型,由编程人员来分配。
(2)null:空值
空值是最简单的数据类型。表示没有为该变量设置任何值,另外,空值(NULL)不区分大小写。
Q2: 有关于PHP中常见数据类型的汇总分享
PHP
数据类型
PHP
支持八种原始类型(type)。
四种标量类型:
string(字符串)
integer(整型)
float(浮点型,也作
double
)
boolean(布尔型)
两种复合类型:
array(数组)
object(对象)
两种特殊类型:
resource(资源)
NULL(空)
查看变量类型
通过
gettype()
函数可以方便的查看某个变量的类型:
复制代码
代码如下:
?php$var_bool
=
TRUE;
//
a
boolean$var_str
=
"foo";
//
a
string$var_int
=
12;
//
an
integerecho
gettype($var_bool);
//
输出
booleanecho
gettype($var_str);
//
输出
stringecho
gettype($var_int);
//
输出
integer?
(PS:T不错的PHP
Q扣峮:276167802,验证:csl)
提示
由于历史原因,如果是
float
类型数据,gettype()
函数返回的是
double,而不是
float
。
如果想查看某个表达式的值和类型,请使用用
var_dump()
函数。
判断变量类型
如果想通过判断变量类型来确定下一步逻辑动作,不要使用
gettype()
,而使用
is_type
系列函数:
复制代码
代码如下:
?php$var_int
=
12;//
如果
$var_int
是
int
类型,这进行加法if
(is_int($var_int))
{
$var_int
=
$var_int+4;}echo
$var_int;
//
输出
16?
以上是本文关于PHP
数据类型的汇总,希望本文对广大php开发者有所帮助,感谢您阅读本文。
Q3: php随机浮点数有哪些?比如从0.1到3.0中随机一个浮点数出来?
在PHP中是可以使用rand()函数来产生一个随机数,不过不能直接生产浮点数,但是可以多走一步来生产浮点数。
我们可以先生成1-30中的数,然后在处以10就行了。
?php
$num = rand(1,30)/10;
echo $num
这时num的值就是0.1-3.0中的随机浮点数。
rand()函数使用方法
int rand ( int $min , int $max )
其中的参数为:
min
返回的最低值(默认:0)
max
返回的最高值(默认:getrandmax())
rand()函数的其它使用方法,请访问官方文档:PHP文档
Q4: php microtime获取浮点的时间戳
一直以来用这个函数获取:
复制代码
代码如下:
function
microtime_float(){
list($usec,
$sec)
=
explode("
",
microtime());
return
((float)$usec
+
(float)$sec);
}
看到别人的源码中用microtime(true),查了下手册,原来从PHP
5.0.0
开始,microtime增加了这个参数。
引用
复制代码
代码如下:
mixed
microtime
(
[bool
get_as_float]
)
microtime()
当前
Unix
时间戳以及微秒数。本函数仅在支持
gettimeofday()
系统调用的操作系统下可用。
如果调用时不带可选参数,本函数以
"msec
sec"
的格式返回一个字符串,其中
sec
是自
Unix
纪元(0:00:00
January
1,
1970
GMT)起到现在的秒数,msec
是微秒部分。字符串的两部分都是以秒为单位返回的。
如果给出了
get_as_float
参数并且其值等价于
TRUE,microtime()
将返回一个浮点数。
注意:
get_as_float
参数是
PHP
5.0.0
新加的。
如果程序肯定在PHP5以上的环境运行,那么就直接使用microtime(true)吧,比使用microtime_float函数至少快两倍。以下是我简单测试的程序代码。
复制代码
代码如下:
?php
function
microtime_float3(){
return
microtime(true);
}
function
microtime_float2(){
if(
PHP_VERSION
5){
return
microtime(true);
}else{
list($usec,
$sec)
=
explode("
",
microtime());
return
((float)$usec
+
(float)$sec);
}
}
function
microtime_float(){
list($usec,
$sec)
=
explode("
",
microtime());
return
((float)$usec
+
(float)$sec);
}
function
runtime($t1){
return
number_format((microtime_float()
-
$t1)*1000,
4).'ms';
}
$t1
=
microtime_float();
for($i=0;$i10000;$i++){
microtime_float();
}
echo
"microtime_float=====";
echo
runtime($t1).'br';
$t1
=
microtime(true);
for($i=0;$i10000;$i++){
microtime(true);
}
echo
"microtime_true=====";
echo
runtime($t1).'br';
$t1
=
microtime(true);
for($i=0;$i10000;$i++){
microtime_float2();
}
echo
"microtime_float2=====";
echo
runtime($t1).'br';
$t1
=
microtime(true);
for($i=0;$i10000;$i++){
microtime_float3();
}
echo
"microtime_float3=====";
echo
runtime($t1).'br';
?
本机winxp运行结果:
microtime_float=====109.5631ms
microtime_true=====38.8160ms
microtime_float2=====52.7902ms
microtime_float3=====45.0699ms
Linux上运行结果:
microtime_float=====47.2510ms
microtime_true=====9.2051ms
microtime_float2=====16.3319ms
microtime_float3=====12.2800ms
在PHP5的环境下,直接使用microtime(true);显然是最快的。microtime_float2和microtime_float3都可以在不改变原有程序的情况下,直接修改函数内容来实现性能的轻微提升。microtime_float2可以做为兼容旧版本的写法。
Q5: 求帮:php怎么用正则获取浮点数
$pattern="/^([1-9]\\d*|0)(\\.\\d*[1-9])$/"
整数部分为任意大于等于0的正整数,非0数字前面不能带0(比如01,010这类不合法)
小数部分同理,小数点后至少有1位不为0的数字,且最后面不能为0
关于php获取浮点数据类型和php获取字符的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







