2013-07-11 4 views
6

में printf() मान सेट करें मेरे पास एक php स्क्रिप्ट है जो 9.08374786377E-5 जैसा समय दिखाती है, लेकिन मुझे एक समय के रूप में सादे फ़्लोटिंग मान की आवश्यकता है: 0.00009083747 ..... Thats क्यों मैं सिर्फ प्रिंट करता हूं ऐसा नाव के साथ:एक PHP चर

<?php 

function microtime_float() 
{ 
list($usec, $sec) = explode(" ", microtime()); 
return ((float)$usec + (float)$sec); 
} 
$time_start = microtime_float(); 

$time_end = microtime_float(); 
$time = $time_end - $time_start; 
printf('%.16f', $time); 

?> 

इसकी अच्छी तरह से परिणाम दिखाने के लिए, लेकिन मैं एक नया वेरिएबल में इस मुद्रण मूल्य निर्धारित करने की आवश्यकता। मैं उसे कैसे कर सकता हूँ ? मुझे इस प्रिंटिंग मान को एक नए चर $ var में सेट करने की आवश्यकता है;

$var = printf('%.16f', $time); 

// हम सभी जानते हैं कि यह काम नहीं कर रहा है, लेकिन कैसे सेट करें?

उत्तर

25

आप sprintf आदेश का उपयोग करने के लिए एक चर के रूप में अपना डेटा प्राप्त करने की आवश्यकता है ... printf परिणाम जबकि sprintf परिणाम

$var = sprintf('%.16f', $time); 
+0

धन्यवाद :) यह वास्तव में अच्छा काम कर रहा है – Rontdu

4

ऐसा इसलिए है क्योंकि sprintf() एक स्ट्रिंग रिटर्न है, printf() यह प्रदर्शित करता है देता है आउटपुट।

sprintf('%.16f', $time); 

sprintf() के बाद से प्रिंट एक स्ट्रिंग के लिए परिणाम, तुम इतनी तरह एक चर में संग्रहीत कर सकते हैं::

printf('%.16f', $time); 

रूप में ही है

$var = sprintf('%.16f', $time); 

आशा इस मदद करता है!

संबंधित मुद्दे