填充以获取数字中的特定位数

时间:2012-07-13 07:56:36

标签: java grails groovy

String val = "98"

我需要将输出设为0000098(7位)。

我需要将零填充为字符串或整数值......

存储在val中的数字是动态的,可能包含任意数量的数字,但输出应始终为7位数。

4 个答案:

答案 0 :(得分:19)

在groovy中,你可以像这样填充字符串:

val.padLeft( 7, '0' )

这将用零填充字符串的左边,直到它长度为7个字符

答案 1 :(得分:11)

使用String.format

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

答案 2 :(得分:0)

查看http://commons.apache.org/lang/api-2.5/org/apache/commons/lang/StringUtils.html,其中包含leftpadrightpad ...

等功能

答案 3 :(得分:0)

您可以使用NumberFormat格式化String值:

NumberFormat formatter = new DecimalFormat("0000000");

这意味着您的String将根据需要以0结束。

然后,为了获得你的String格式,你可以这样做:

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

因为“format”方法需要double作为参数。