我正在嘗試使用sprintf打印一個沒有前置零的浮點數。數字始終小于 10.12345 => .12345我的嘗試:<?php$string = sprintf('%0.6F',0.12345678);我得到“0.123457”,但我需要“.123457”。我可以使用 ltrim 執行此操作:$string = ltrim(sprintf('%0.6F',0.12345678),'0'); //string(7) ".123457"有沒有一種特殊的格式只能用sprintf來完成?
1 回答

浮云間
TA貢獻1829條經驗 獲得超4個贊
不能將小數點前的零修剪為帶有 和 的任何選項。sprintf()
float
sprintf() fF
雙精度參數將四舍五入并轉換為樣式 [-]ddd.ddd 中的十進制表示法,其中小數點字符后面的位數等于精度規范。如果精度缺失,則取為6;如果精度顯式為零,則不顯示小數點字符。如果出現小數點,則它前面至少出現一個數字。
? http://www-sbras.nsc.ru/cgi-bin/www/unix_help/man-cgi?sprintf
作為替代方案,您可以使用:ltrim()
substr
substr(sprintf('%.6f', 0.12345678), 1);
- 1 回答
- 0 關注
- 104 瀏覽
添加回答
舉報
0/150
提交
取消