2012-07-13 18 views
5

Tôi cần lấy kết quả là 0000098 (7 chữ số).Đệm để nhận số chữ số cụ thể trong một số

Tôi cần đệm bên trái của số không vào chuỗi hoặc giá trị số nguyên ...

Số lưu trữ trong val là năng động và có thể chứa bất kỳ số lượng chữ số, nhưng sản lượng nên luôn luôn có 7 chữ số.

Trả lời

10

Sử dụng String.format:

public class A { 
    public static void main(String[] args) { 
    System.out.println(String.format("%07d", 98)); // -> 0000098 
    } 
} 
+0

sẽ pad bên trái của chuỗi với số không cho đến khi nó là 7 ký tự dài Cảm ơn bạn rất nhiều ... Nó Danial công trinh!! :) –

0

Bạn có thể định dạng String value bạn sử dụng NumberFormat theo cách này:

NumberFormat formatter = new DecimalFormat("0000000"); 

Điều đó có nghĩa là Chuỗi của bạn sẽ được hoàn thành với số 0 như bạn muốn.

Và sau đó, để có được chuỗi của bạn được định dạng bạn có thể làm:

String formatRes = formatter.format(new Double(val)); 

vì phương pháp "định dạng" cần có một đôi như là đối số.

17

Trong groovy, bạn có thể Strings pad như vậy:

val.padLeft(7, '0') 

Đó

Các vấn đề liên quan