Java 如何将看起来像int的字符串转换为正确的格式?

Java 如何将看起来像int的字符串转换为正确的格式?,java,Java,假设我有一个字符串变量,看起来像这样。 String milli=“2728462”有没有一种方法可以将它转换成这样的样子 2252251我想我想要一个长的 问题是它将以这种格式传递字符串 1512 52 15010 1622274628 我希望它把,字符放在它需要的地方,所以如果数字是1000,那么像这样放置1000和100000然后100000等等 如何正确转换这样的字符串变量 因为这个 String s="9990449935"; long l=Long.parseLong(s);

假设我有一个字符串变量,看起来像这样。
String milli=“2728462”
有没有一种方法可以将它转换成这样的样子
2252251
我想我想要一个长的

问题是它将以这种格式传递字符串
1512
52
15010
1622274628

我希望它把
字符放在它需要的地方,所以如果数字是
1000
,那么像这样放置
1000
100000
然后
100000
等等

如何正确转换这样的字符串变量

因为这个

String s="9990449935";  
long l=Long.parseLong(s);  
System.out.println(l);  
将输出
9990449935
而不是
9990449935

您可以尝试

String milli = "2728462"
System.out.println(NumberFormat.getInstance(Locale.US).format(Long.parseLong(milli)));

的基本策略是将数字的字符串表示形式转换为
number
格式。然后,根据给定的
区域设置
,您可以使用以下选项来表示此数字

String.format() 数字格式
哦,哇!谢谢!:-)@MarkDenom-相关知识是-您应该将字符串转换为某种数字,然后使用普通的数字格式化方法获得所需的输出。回答得很好,但我认为更多的解释将有助于未来的读者。顺便说一句,System.out.format()是可能更熟悉的System.out.printf()的同义词。如果您希望将输出写入字符串而不是打印,则可以使用String.format()而不是System.out.format()。这绝对是正确的答案,我投了赞成票@马克·德诺姆:你应该接受这是最好的答案。仅添加一些相关内容:如果字符串的长度无效,则方法parseLong()将抛出NumberFormatException。我编写了一个开放源代码库,它有一个实用程序,可以将字符串转换为Long、Integer、Float等,不会引发异常,但如果发生异常,它会返回一个默认值,并可以选择将异常打印到日志中。这可能很方便。请参阅关于lib的文章:
long
int
从来没有任何格式。只有
String
s具有格式。
System.out.format(Locale.US, "%,d", Long.parseLong("2728462"));
System.out.println(NumberFormat.getNumberInstance(Locale.US).format(Long.parseLong("2728462")));