Java string.format() วิธีการคืออะไร?
เมธอด Java string format()ใช้เพื่อจัดรูปแบบสตริง จำนวนเต็ม ค่าทศนิยม และอื่นๆ โดยใช้ตัวระบุรูปแบบที่แตกต่างกัน เมธอดนี้ส่งคืนสตริงที่จัดรูปแบบโดยใช้โลแคลที่กำหนด ตัวจัดรูปแบบที่ระบุ และอาร์กิวเมนต์ หากไม่มีการระบุโลแคล ระบบจะใช้โลแคลเริ่มต้นในการจัดรูปแบบสตริง string.format ()เป็นวิธีการคงที่ของคลาส Java String ไวยากรณ์ มีเมธอด string format() สองประเภท อันหนึ่งมีโลแคลที่ให้มา และอีกอันไม่มี ซึ่งใช้โลแคลเริ่มต้นpublic static String format(Locale loc, String format, Object… args)
public static String format(String format, Object… args)
พารามิเตอร์
- ค่าสถานที่ซึ่งจะนำไปใช้กับรูปแบบ ()วิธีการ
- การระบุรูปแบบของสตริงเอาต์พุต
- จำนวนอาร์กิวเมนต์สำหรับสตริงรูปแบบมีตั้งแต่ 0 ถึงมาก
- NullPointerExceptionถ้ารูปแบบเป็น null NullPointerExceptionจะถูกส่งออกไป
- IllegalFormatExceptionหากรูปแบบที่ระบุผิดกฎหมาย หรือมีอาร์กิวเมนต์ไม่เพียงพอ ข้อยกเว้นนี้จะถูกส่งออกไป
ตัวระบุรูปแบบ
มาดูตัวระบุที่ใช้กันทั่วไปบ้างตัวระบุ | คำอธิบาย |
---|---|
%s, %S | ตัวจัดรูปแบบสตริง |
%d | จำนวนเต็มทศนิยม ใช้สำหรับจำนวนเต็มเท่านั้น |
%o | จำนวนเต็มฐานแปด ใช้สำหรับจำนวนเต็มเท่านั้น |
%ฉ, %ฉ | สำหรับเลขทศนิยม ใช้กับเลขทศนิยม |
%x, %X | จำนวนเต็มฐานสิบหก ใช้สำหรับจำนวนเต็มเท่านั้น |
Java String.format() ตัวอย่างวิธีการ
class Main {
public static void main(String[] args) {
// Integer value
System.out.println(String.format("%d", 234));
// String value
System.out.println(String.format("%s", "format() method"));
// Float value
System.out.println(String.format("%f", 99.99));
// Hexadecimal value
System.out.println(String.format("%x", 99));
// Char value
System.out.println(String.format("%c", 'f'));
// Octal value
System.out.println(String.format("%o", 99));
}
}
เอาท์พุต
รูปแบบ 234() วิธีการ 99.990000 63 f 143
ตัวอย่าง
class Main {
public static void main(String[] args) {
int n1 = 99;
// using two different specifiers for formatting the string
System.out.println(String.format("%s\nhexadecimal: %x", "Result is", n1));
}
}
เอาท์พุต
ผลลัพธ์เป็นเลขฐานสิบหก: 63
ตัวอย่าง
// to use Locale
import java.util.Locale;
class Main {
public static void main(String[] args) {
int number = 9999999;
// using the default locale if none specified
System.out.println(String.format("Number: %,d", number););
// using the GERMAN locale as the first argument
System.out.println(String.format(Locale.GERMAN, "Number in German: %,d", number));
}
}
เอาท์พุต
หมายเลข: 9,999,999 หมายเลขในภาษาเยอรมัน: 9.999.999
GO TO FULL VERSION