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

将数字填充为0时,“ IllegalFormatConversionException:d!= java.lang.String”吗?

冉永宁
2023-03-14
问题内容

昨天我有一个完美的工作代码,其确切形式为:

int lastRecord = 1;
String key = String.format("%08d", Integer.toString(lastRecord));

它将很好地填充到00000001。

现在,我使用twoKeyChar从表中获取字符串,并在lastRecord从表中获取int来提高了档次。

如您所见,该概念本质上是相同的-我将一个int转换为一个字符串,并尝试用0填充它;但是,这次我得到以下错误:

java.util.IllegalFormatConversionException: d != java.lang.String

代码如下:

String newPK = null;
String twoCharKey = getTwoCharKey(tablename);
if (twoCharKey != null) {
     int lastRecord = getLastRecord(tablename);
     lastRecord++;
     //The println below outputs the correct values: "RU" and 11. 
     System.out.println("twocharkey:"+twoCharKey+"record:"+lastRecord+"<");
     //Now just to make it RU00000011
     newPK = String.format("%08d", Integer.toString(lastRecord));
     newPK = twoCharKey.concat(newPK);
}

我觉得我肯定输入了错误的内容,因为自上次使用以来,没有理由让它中断。任何帮助/提示表示赞赏!谢谢!


问题答案:

您不需要Integer.toString()

 newPK = String.format("%08d", lastRecord);

String.format() 将进行转换和填充。



 类似资料:
  • 问题内容: 我有几根不同长度的琴弦 我需要将它们转换为相同大小的字符串,例如: 如何在每个字符串前自动添加正确的0数? 谢谢 问题答案: 用途:

  • rank ▲ ✰ vote url 77 340 83 533 url 给字符串填充0 有什么方法可以给字符串左边填充0,这样就可以有一个特定长度. 字符串: >>> n = '4' >>> print n.zfill(3) >>> '004' 对于数字: >>> n = 4 >>> print '%03d' % n >>> 004 >>> print format(4, '03') # pyt

  • 问题内容: 我将JTable子类化,并使用DefaultTableModel建模我的表数据。下面的类设置JTable,并向模型添加一行。 在显示/可视化时,将引发以下异常: 我正在扯头发-我还无法找到这个非常简单的用例的根本原因。 问题答案: 我认为您需要在TableModel中添加列。您的代码将UI列添加到表中,但不将其添加到模型中

  • 我如何用整数或字符串填充我的GridPane?我目前正在数独GUI上工作,无法使其工作。我已经知道不可能用Java FX标签来显示它,因为它是Java.FX.scene.Control类。我需要以某种方式将数独值转移到GridPane中相应的坐标。

  • 我正在尝试用C++做任务。我需要创建这个函数: 现在我的示例代码如下所示: 我需要用从1到行*列的数字填充数组,从[0][0]和对角线开始。如何在本例中声明并初始化带有数组的函数,然后对角填充?如有任何帮助,我们将不胜感激!

  • 问题内容: 是否有任何语法/软件包允许使用数字范围快速填充Java数组,例如在perl中? 例如 另外,这里提供了一个包,该包允许在上述数字列表中获取第n个数字,而无需实际创建数组(这可能很大)? 例如 实施起来并不太困难,但是我想这可能很普遍,所以也许已经完成了。 问题答案: 不像True Soft的答案那么干净,但是您可以使用Google Guava达到相同的效果: 请注意,您需要一些静态导入