2012-03-20 18 views
5

मैं सेंट पॉइंट को इंगित करने के लिए दशमलव बिंदु के बाद डॉलर के मान को दो अंकों के साथ प्रदर्शित करना चाहता हूं। नीचे दिए गए कार्यक्रम में आउटपुट 23.24 है। पर्ल दशमलव स्थानों को गोल करता है। इसे कैसे बचें। मैं आउटपुट 23.23 होना चाहता हूं।sprintf में दशमलव स्थान truncate (गोल नहीं)?

$val=23.2395; 
$testa=sprintf("%.2f", $val); 
print "\n$testa\n $val"; 
+0

क्या आप हमेशा इसे छोटा करना चाहते हैं? – Schwern

+1

डॉलर की बजाय पेनीज़ में गणना करें, और उसके बाद आंशिक पेनीज़ को छोटा करने के लिए 'int' का उपयोग करें। – tchrist

उत्तर

12
print int(23.2395*100)/100; # => 23.23 
+0

'printf' सजावट – Zaid

+0

के लिए कोई ज़रूरत नहीं है – Arav

7

Math::Round अलग राउंडिंग तरीकों है।

use Math::Round 'nlowmult'; 
print nlowmult(0.01, 23.2395); # 23.23 
+0

जानकारी के लिए बहुत बहुत धन्यवाद जानकारी के लिए बहुत कुछ – Arav

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

  • कोई संबंधित समस्या नहीं^_^