Java 如何存储';09';整数
我正在开发一个java程序,需要将一些从0到16的整数存储为 00、01等等 现在,当我为9存储'09'或为8存储'08'时,它开始给我错误信息 从这个问题我知道它是八进制的 我的问题是: 有没有办法在JAVA中以整数形式存储08或09 我必须将数字存储为00,01。。唯一的选择是什么Java 如何存储';09';整数,java,Java,我正在开发一个java程序,需要将一些从0到16的整数存储为 00、01等等 现在,当我为9存储'09'或为8存储'08'时,它开始给我错误信息 从这个问题我知道它是八进制的 我的问题是: 有没有办法在JAVA中以整数形式存储08或09 我必须将数字存储为00,01。。唯一的选择是什么 非常感谢 使用整数存储数字,如果需要显示这些值,请将它们转换为字符串。字符串可以很容易地格式化以显示前导零 int num = 5; System.out.println(String.forma
非常感谢 使用整数存储数字,如果需要显示这些值,请将它们转换为字符串。字符串可以很容易地格式化以显示前导零
int num = 5;
System.out.println(String.format("%02d", num));
不,除非将它们存储为字符串,否则无法执行此操作。
或者将它们存储为常规int并使用字符串格式作为输出。尝试将
09
存储为数值是没有意义的(除非您真正的意思是将9
存储为八进制,这就更没有意义了)。您所引用的09
值是值9
的表示形式。数值与它们的表示方式无关。您可以将十进制中的值九表示为9
或09
或9.0
,或八进制中的值九表示为011
,但值九保持不变,并且应存储在整数
变量(或int
)中
将Integer
变量中的数字存储为数值,并以您希望的格式输出,例如:
Integer i = 9; // or Integer i = 011; whatever
System.out.println(String.format("%02d", i));
听起来你好像在做错事;然而,有许多可能的方法 案例1:您试图存储日期组件并将其显示为两位数。在这种情况下,请改用 案例2:您试图存储版本号的一部分。在这种情况下,应该将其存储为
字符串
,而不是int
案例3:您正在尝试存储其他类型的数据,并且需要使用前导零来显示它。为此,您应该使用或b来执行此操作System.out.printf(“%1$2d”,myInteger)
将数字输出为两位数字,如果需要,添加前导零。尝试使用
在%02d
-用零填充0
-将宽度设置为22
为什么需要这种格式?对于输出或其他内容?您希望在什么情况下使用00、01等?您不太可能需要这样存储它们,您可能需要这样显示它们-这公平吗?@Nullpointer:您认为08与8有什么不同,就整数值而言?编写一个print或toString方法来处理按您希望的方式打印Int…将其存储在字符串中可能不是最佳方法。您可以将“存储”一词替换为“强制转换”;)不需要将其存储为字符串..不够好-10-16怎么办?虽然你们都不了解我真正的问题(人们只是投反对票,甚至没有完全阅读问题),而且给出的解决方案也没有一个完美地满足我的需要;我认为这是最相关的解决方案,所以我接受这一点!实数的格式是什么,例如:09.23
int num = 9;
System.out.println(String.format("%02d", num));
09