永发信息网

请求讲解一个PHP的printf函数:

答案:3  悬赏:80  手机版
解决时间 2021-03-08 06:39
$str='100.123456';printf("%%",$str,$str);
为什么不以百分比形式输出?而只是输出一个“%”号?
最佳答案
printf("%s\%",$str);
php和C的相似之处在这里有体现的。
全部回答
这个是输出一个格式化的字符串函数用法是 $str = '100.123456';printf("尼玛加班一个月才赚%s元",$str); 可将%s替换为你传进来的字符串 想输出%号的这么写 $str = '100.123456';printf("%%%s",$str);

printf函数里面的格式符%f或者楼主写的%lf是接受浮点或者双精度值并将它转换为十进制符号表示法, 格式为 [-] ddd.ddd. 基数字符后的数字位数等于规定的精度.  如果不指定精度, 则输出六个有效数字. 如果精度是 0, 将不显示基数字符. 所以原因很明显, %lf接受浮点数, 而浮点数的存储方式和整型不同, 强制把8/5的整型结果给%lf进行输出, printf读取浮点数的阶码和尾数的时候会产生错误, 对应的阶码和尾数存储单元是0, 所以输出的就是0

说白了就是8 / 5的结果是整型, 而整型的存储方式和浮点数不同, 所以导致%lf输出错误

因为浮点数是由 数符, 尾数, 阶符, 阶码四部分组成

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我电脑开机没滴的声音 显示无视频输入 其他部
辽宁大学会计专硕考试有多大难度,,对于专科
观察法是定性研究中常用的一种收集资料的方法
一人拿一个鸡蛋图猜迷
今天使用拖把更名器“无效数据,请检查您的文
美利达现在哪款车性价比高呢
已知 =(m +1,-3), =(1,m -1),(
我是新手养鱼的!我觉得罗汉鱼很漂亮但只能单
夫妻一方有病还要付孩子的抚养费吗
年纪不满18周岁可以进4s店工作吗?
寻根问祖是中华民族的传统美德,现在网络上有
dede list 中数据重复显示怎么解决
迁曹线/南环路(路口)我想知道这个在什么地方
stay,exprience的用法
抑郁症工龄满2O年可以办理病退吗?
推荐资讯
化州市新高农资有限公司在哪里啊,我有事要去
西红门乐家购物中心是否拖欠工资
怎么让手机变成座机号
猛犸象安全带CE认证序列号
奥拉星实名注册能一直玩游戏吗
宝马740li风扇常转无任何故障码
收到美国亚马逊的直邮包裹,可是不是自己买的
灵魂摆渡第十九集女主叫什么
固态继电器A1B1C1与A2B2C2怎样分别输入与输出
如图所示,管道支架承受两个集中荷载Q、Q,问
韩星 李民浩真实身高
凉拌鹅唇怎么做好吃,谢谢
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?