$str='100.123456';printf("%%",$str,$str);
为什么不以百分比形式输出?而只是输出一个“%”号?
请求讲解一个PHP的printf函数:
答案:3 悬赏:80 手机版
解决时间 2021-03-08 06:39
- 提问者网友:战皆罪
- 2021-03-07 13:49
最佳答案
- 五星知识达人网友:山有枢
- 2021-03-07 14:09
printf("%s\%",$str);
php和C的相似之处在这里有体现的。
php和C的相似之处在这里有体现的。
全部回答
- 1楼网友:未来江山和你
- 2021-03-07 16:25
这个是输出一个格式化的字符串函数用法是
$str = '100.123456';printf("尼玛加班一个月才赚%s元",$str);
可将%s替换为你传进来的字符串
想输出%号的这么写
$str = '100.123456';printf("%%%s",$str);
- 2楼网友:风格不统一
- 2021-03-07 15:24
printf函数里面的格式符%f或者楼主写的%lf是接受浮点或者双精度值并将它转换为十进制符号表示法, 格式为 [-] ddd.ddd. 基数字符后的数字位数等于规定的精度. 如果不指定精度, 则输出六个有效数字. 如果精度是 0, 将不显示基数字符. 所以原因很明显, %lf接受浮点数, 而浮点数的存储方式和整型不同, 强制把8/5的整型结果给%lf进行输出, printf读取浮点数的阶码和尾数的时候会产生错误, 对应的阶码和尾数存储单元是0, 所以输出的就是0
说白了就是8 / 5的结果是整型, 而整型的存储方式和浮点数不同, 所以导致%lf输出错误
因为浮点数是由 数符, 尾数, 阶符, 阶码四部分组成
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯