问题
我进入int
,值为6位数。我希望将它显示为aString
,小数点(。)位于int
结束时的2位数。我想使用afloat
但建议使用String
以获得更好的显示输出(而不是1234.5
将是1234.50
)。因此,我需要一个函数,它将获取一个int
as参数并返回格式正确的String
,结尾处有一个小数点2位数。
说:
int j= 123456
Integer.toString(j);
//processing...
//output : 1234.56
#1 热门回答(174 赞)
正如评论中所提到的,aStringBuilder可能是一个更快的实现,然后使用aStringBuffer。如Java文档中所述:
此类提供与StringBuffer兼容的API,但不保证同步。此类设计用作StringBuffer的替代品,用于单个线程使用字符串缓冲区的位置(通常情况下)。在可能的情况下,建议首先使用此类优先于StringBuffer,因为在大多数实现中它会更快。
用法:
String str = Integer.toString(j);
str = new StringBuilder(str).insert(str.length()-2, ".").toString();
或者,如果你需要同步,请使用具有类似用法的StringBuffer:
String str = Integer.toString(j);
str = new StringBuffer(str).insert(str.length()-2, ".").toString();
#2 热门回答(148 赞)
int j = 123456;
String x = Integer.toString(j);
x = x.substring(0, 4) + "." + x.substring(4, x.length());
#3 热门回答(15 赞)
int yourInteger = 123450;
String s = String.format("%6.2f", yourInteger / 100.0);
System.out.println(s);