您的位置:

php输出浮点数的格式,php浮点数转为字符串

本文目录一览:

菜鸟学php的问题?

在任何计算机语言里面都是这样的,浮点型转化输出$d的结果是3.45E+50,而不是345000……后面48个零。

因为计算机内部的数都是二进制形式的,浮点型要使用有限的二进制位数(比如32位)表示巨大的数值,例如你这里的总共51位的数,那就必须采取的方法就是科学计数法:用一定的二进制位数表示底数、剩余的二进制位表示指数,所有的数都表示为:底数×10^指数,例如你的3.45E50,表示3.45乘以10的50次方。

浮点数的输出一般都是这样的固定格式,即使你采取特殊办法把48个0显示出来,也不见得就是0,完全可能是其它数值,因为浮点数的精度是有限的,小数点后面多少位之后都是省略了的。

php中sprintf的%f和%F的区别

PHP的sprintf具体语法sprintf(format,arg1,arg2,arg++)其中的参数 format 是转换的格式,以百分比符号 ("%") 开始到转换字符结束

%% - 返回百分比符号

%b - 二进制数

%c - 依照 ASCII 值的字符

%d - 带符号十进制数

%e - 可续计数法(比如 1.5e+3)

%u - 无符号十进制数

%f - 浮点数(local settings aware)

%F - 浮点数(not local settings aware)

%o - 八进制数

%s - 字符串

%x - 十六进制数(小写字母)

%X - 十六进制数(大写字母)

php中整形转换为浮点型,并精确的小数点后两位

PHP 中sprintf函数可以将整数格式化为浮点格式。比如格式化参数:%nf;其中,n 表示小数点后的位数。比如:

?php

$num=9.8;

$res=sprintf("%.2f", $num);

//输出:9.80

?

php中的浮点数分单双精度吗?用gettype()得到的double,用var_dump()是float

PHP中,float指“泛称的浮点数”,而不像“java或c中特指单精度浮点single-precisioned float”

double是指双精度浮点,全称double-precisioned float

按理浮点类型都因该返回'float',

getType函数由于要保持历史兼容,以前旧版就返回double,所以现在仍然返回double

PHP的基本类型中也只有64bit双精度浮点一种浮点数,即double。PHP没有使用单精度32bit浮点。

求 php 网页将 varchar 字符转换为浮点数值的代码

?php

$c='123.5687tfyt'; //字符串

echo $c; //输出字符串

echo 'br /'; //换行

$f=(float)$c; //转为浮点数++++++++++++++ 关键就这一行

$f++; //为验证是否浮点数,给它加1

echo $f; //输出浮点数

?

以上代码输出结果为:

123.5687tfyt

124.5687