当前位置: 首页 > 面试题库 >

在Java中将前导零添加到数字中?

韩经武
2023-03-14
问题内容

有没有更好的方法来获得此结果?如果num的位数比位数多,则此函数将失败,并且我认为它应该在库中的某个位置(例如Integer.toString(x,“%3d”)等)

static String intToString(int num, int digits) {
    StringBuffer s = new StringBuffer(digits);
    int zeroes = digits - (int) (Math.log(num) / Math.log(10)) - 1; 
    for (int i = 0; i < zeroes; i++) {
        s.append(0);
    }
    return s.append(num).toString();
}

问题答案:

tring.format(http://java.sun.com/j2se/1.5.0/docs/api/java/util/Formatter.html#syntax)

在你的情况下,它将是:

String formatted = String.format("%03d", num);
  • 0 - to pad with zeros
  • 3 - to set width to 3


 类似资料:
  • 有没有更好的方法得到这个结果?如果num的位数比digits多,并且我觉得它应该在库的某个地方(像integer.toString(x,“%3d”)之类的),则该函数将失败

  • 问题内容: 我有一个字段是,保持日期值,我从转换到。 有些记录有八个字符,有些记录有七个字符。我想通过将前导零添加到具有7的前导零来使它们具有相同的长度。 8个字符的示例:12162003 7个字符的示例:5072004(需要前导零) 查询: 问题答案: 可以在更多情况下使用的功能是REPLICATE。它将一个X值的次数连接到一个字符串。 这将花费您的生日的长度,将其减去8,然后在前面放置多个前导

  • 问题内容: 我目前正在用Java开发拍卖程序,我正在尝试确定截止日期,但是我的日期不断出现,因为(7/04/2013 11:22),有没有办法使用String.format添加前导零到今天是一位数字的日子? 稍后当我尝试对它进行子字符串处理时,这会导致我出现问题,并且它的长度少于17个字符。 预先感谢詹姆斯。 问题答案: 只需使用SimpleDateFormat

  • 问题内容: PHP-是否有一种快速,即时的方法来测试单个字符串,然后在前导零之前添加? 例: 问题答案: 您可以使用sprintf:http : //php.net/manual/en/function.sprintf.php 如果少于要求的字符数,它将仅添加零。 编辑:@FelipeAls指出: 处理数字时,应使用(而不是),尤其是在有可能出现负数的情况下。如果您仅使用正数,则两种方法都可以正常

  • 需要向列值(varchar)添加前导零,并在同一个表中更新它。例如:431 as 000431,5431 as 005431,64531 as 064531,基本上我需要用零替换数据,使其为6位。这是sybase ase。 谢啦

  • 我使用预定义的电话格式来格式化一个国家的电话号码,但返回了国家的重要号码。 美国电话# IL(以色列)电话# 我不能使用其他方法,因为此方法(formatByPattern)接受预定义的PhoneFormats 来自javadoc:phonenumberrutil。formatByPattern 使用客户端定义的格式化规则以指定格式格式化电话号码。请注意,如果电话号码的国家/地区呼叫代码为零或其他