亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

格式化字符串sprintf的"填空字元" 不清楚啊


<?php
//格式化字符串
$str?=?'100.1';
$result?=?sprintf('%18.3f',?$str);

echo?$result;

我把0改成1并沒有在不足的地方填上1,而是在前面多了5個空格,把0改成2 前面多了15個空格,請問什么情況?謝謝

正在回答

2 回答

1、這個 % 符號是開始的意思,寫在最前面表示指定格式開始了。 也就是 "起始字符", 直到出現 "轉換字符" 為止,就算格式終止。
2、跟在 % 符號后面的是 0, 是 "填空字元" ,表示如果位置空著就用0來填滿。
3、在 0 后面的是1,這個 1 是規定整個所有的字符串占位要有1位以上(小數點也算一個占位)。
??? 如果把 1 改成 6,則 $result的值將為 099.90
??? 因為,在小數點后面必須是兩位,99.90一共5個占位,現在需要6個占位,所以用0來填滿。
4、在 %01 后面的 .2 (點2) 就很好理解了,它的意思是,小數點后的數字必須占2位。 如果這時候,$str 的值為9.234,則 $result的值將為9.23.
??? 為什么4 不見了呢? 因為在小數點后面,按照上面的規定,必須且僅能占2位。 可是 $str 的值中,小數點后面占了3位,所以,尾數4被去掉了,只剩下 23。
5、最后,以 f "轉換字符" 結尾。

0 回復 有任何疑惑可以回復我~
#1

北方的郎n_n 提問者

復制我也會哦。
2016-11-24 回復 有任何疑惑可以回復我~

這個要理解,意思就是那個呀

0 回復 有任何疑惑可以回復我~
#1

那些年29

不用管他 1+1=2的問題,告訴1+1=2,還說復制粘貼。
2017-05-23 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

格式化字符串sprintf的"填空字元" 不清楚啊

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號