黑马程序员技术交流社区

标题: Java怎么让输出的数字保持固定长度啊 [打印本页]

作者: 白水丶    时间: 2015-5-15 13:45
标题: Java怎么让输出的数字保持固定长度啊
比如说12我让它输出占用4个格子,不足四个的前面补0,输出0012
作者: BOb_小星    时间: 2015-5-15 14:12
调用C语言中的函数
System.out.printf("%4d", 1);
作者: 赵旗    时间: 2015-5-15 14:27
你可以将数字转换成字符串进行判断字符串的长度,不够的前边加0,我随便做了一下如果你要是保证4位为一个整体 中间带括号的话  可以自己在将字符串S遍历一次 每4个字符空一格
  1. public class Test1 {

  2.         /**
  3.          * @param args
  4.          */
  5.         public static void main(String[] args) {
  6.                 int i = 11232132;
  7.                 StringBuilder s = new StringBuilder(Integer.toString(i)); // 将int类型转换成字符串缓冲类型的
  8.                 int len = s.length(); // 获取这个字符串的长度
  9.                 if (len > 4 && len / 4 == 0) { // 进行判断长度是否大于4并且直接是4的倍数的话直接可以输出不用在前边加0
  10.                         int d = len % 4; // 因为4个一组 长度处于4获得 最后一组的个数
  11.                         for (int i1 = d; i1 < 4; i1++) {// 小于4为的时候在前边加0
  12.                                 s.insert(0, "0");
  13.                         }
  14.                         System.out.println(s);

  15.                 } else {
  16.                         for (int i1 = len; i1 < 4; i1++) {// 小于4为的时候在前边加0
  17.                                 s.insert(0, "0");
  18.                         }
  19.                         System.out.println(s);
  20.                 }

  21.         }

  22. }
复制代码

作者: 冷雨敲窗被未温    时间: 2015-5-15 15:07
不错的问题。
作者: 牛奋    时间: 2015-5-15 16:14
还可以用一个容器装你所需数据,然后你需要多长就打印几个,用for循环。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2