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

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