আমি একটি সংখ্যা "স্ট্রিংফাই" করতে এবং শূন্য-প্যাডিং printf("%05d")
যুক্ত করতে চাই, যেমন সংখ্যাটি পাঁচটি সংখ্যার চেয়ে কম হলে কীভাবে শীর্ষস্থানীয় শূন্যগুলি যুক্ত করতে পারে।
উত্তর:
এটা ব্যবহার কর:
QString number = QStringLiteral("%1").arg(yourNumber, 5, 10, QLatin1Char('0'));
এখানে 5 এর সাথে 5 এর সাথে মিল রয়েছে printf("%05d")
। 10 হ'ল রেডিক্স, আপনি হেক্সে প্রিন্ট করতে 16 টি রাখতে পারেন।
"%1"
?
%2
ইত্যাদি হত doc
কিউস্ট্রিং কিস্টস্ট্রিং :: ডান ন্যায়সঙ্গত (প্রস্থ, কিউচার ফিল = কিউ ল্যাটিন 1 চর (''), বুল ট্রাঙ্কেট = মিথ্যা)
int myNumber = 99;
QString result;
result = QString::number(myNumber).rightJustified(5, '0');
ফলাফল এখন 00099
সংক্ষিপ্ত উদাহরণ:
int myNumber = 9;
//Arg1: the number
//Arg2: how many 0 you want?
//Arg3: The base (10 - decimal, 16 hexadecimal - if you don't understand, choose 10)
// It seems like only decimal can support negative numbers.
QString number = QString("%1").arg(myNumber, 2, 10, QChar('0'));
Output will be: 09
চেষ্টা করুন:
QString s = s.sprintf("%08X",yournumber);
সম্পাদনা করুন: এ ডক্স মতে http://qt-project.org/doc/qt-4.8/qstring.html#sprintf :
সতর্কতা : আমরা কিউ স্ট্রিং :: স্প্রিন্টফ () নতুন কিউটি কোডে ব্যবহার করার পরামর্শ দিই না। পরিবর্তে কিউ টেক্সটস্ট্রিম বা আরগ () ব্যবহার করে বিবেচনা করুন, উভয়ই ইউনিকোড স্ট্রিংকে নির্বিঘ্নে সমর্থন করে এবং টাইপ-নিরাপদ। এখানে একটি উদাহরণ যা QTextStream ব্যবহার করে:
QString result;
QTextStream(&result) << "pi = " << 3.14;
// result == "pi = 3.14"
এই পদ্ধতি থেকে অনুপস্থিত বৈশিষ্ট্যগুলির জন্য অন্যান্য ডক্স পড়ুন।
আমি ভিবি 5 সাল থেকে একটি কৌশল ব্যবহার করি
QString theStr=QString("0000%1").arg(theNumber).right(4);