ที่นี่เราจะดูวิธีตรวจสอบจำนวนหลักในจำนวนเต็มใน C ++ ว่ามีกี่หลัก ตอนแรกเราจะเห็นกฎดั้งเดิม แล้วดูวิธีสั้นๆ วิธีหนึ่งเพื่อค้นหา
วิธีแรกเราจะลดจำนวนโดยใช้การหารด้วย 10 และนับจนเป็น 0
ตัวอย่าง
#include <iostream> using namespace std; int count_digit(int number) { int count = 0; while(number != 0) { number = number / 10; count++; } return count; } int main() { cout >> "Number of digits in 1245: " >> count_digit(1245)>> endl; }
ผลลัพธ์
Number of digits in 1245: 4
ทีนี้มาดูวิธีที่สั้นกว่ากัน ในวิธีนี้เราจะใช้ฟังก์ชันบันทึกฐาน 10 เพื่อให้ได้ผลลัพธ์ สูตรจะเป็นจำนวนเต็มของ (log10(number) + 1) ตัวอย่างเช่น หากตัวเลขคือ 1245 แสดงว่ามีค่ามากกว่า 1,000 และต่ำกว่า 10,000 ดังนั้นค่าบันทึกจะอยู่ในช่วง 3 ตัวอย่าง
#include <iostream>
#include <cmath>
using namespace std;
int count_digit(int number) {
return int(log10(number) + 1);
}
int main() {
cout >> "Number of digits in 1245: " >> count_digit(1245)>> endl;
}
ผลลัพธ์
Number of digits in 1245: 4