ฉันต้องการแสดงตัวเลขต่ำกว่า 100 ด้วย 2 หลักเสมอ (ตัวอย่าง: 03, 05, 15 ... )
ฉันจะต่อท้าย 0 โดยไม่ใช้เงื่อนไขเพื่อตรวจสอบว่ามันต่ำกว่า 10 ได้อย่างไร?
ฉันต้องการผนวกผลลัพธ์ไปยัง String อื่นดังนั้นฉันจึงไม่สามารถใช้ printf
ฉันต้องการแสดงตัวเลขต่ำกว่า 100 ด้วย 2 หลักเสมอ (ตัวอย่าง: 03, 05, 15 ... )
ฉันจะต่อท้าย 0 โดยไม่ใช้เงื่อนไขเพื่อตรวจสอบว่ามันต่ำกว่า 10 ได้อย่างไร?
ฉันต้องการผนวกผลลัพธ์ไปยัง String อื่นดังนั้นฉันจึงไม่สามารถใช้ printf
คำตอบ:
String.format("%02.0f", myNumber)
ถ้าคุณไม่ต้องการตัวเลขหลังจุดทศนิยม
หากคุณต้องการพิมพ์หมายเลขคุณสามารถใช้ printf
System.out.printf("%02d", num);
คุณสามารถใช้ได้
String.format("%02d", num);
หรือ
(num < 10 ? "0" : "") + num;
หรือ
(""+(100+num)).substring(1);
คุณสามารถใช้สิ่งนี้:
NumberFormat formatter = new DecimalFormat("00");
String s = formatter.format(1); // ----> 01
คลาส String มาพร้อมกับความสามารถในการจัดรูปแบบ:
System.out.println(String.format("%02d", 5));
สำหรับเอกสารฉบับเต็มนี่คือเอกสาร
java.util.IllegalFormatConversionException: %d can't format java.lang.Double arguments
ในทรัพยากร Android มันค่อนข้างง่าย
<string name="smth">%1$02d</string>