我想将一个整数35634646转换为1000个“”,所以它应该是35,634,646。

最快的方法是什么?


当前回答

你不能用a吗

System.out.printf("%n%,d",int name);

printf中的逗号应该将逗号添加到%d inter中。

不是很肯定,但对我来说还行。

其他回答

你要求最快,但也许你的意思是“最好”、“正确”或“典型”?

您还要求使用逗号来表示数千,但也许您的意思是“按照用户的本地习惯使用正常的人类可读格式”?

你可以这样做:

    int i = 35634646;
    String s = NumberFormat.getIntegerInstance().format(i);

美国人将得到" 35634,646 "

德国人将得到“35.634.646”

瑞士籍德国人将得到"35'634'646"

整数:

int value = 100000; 
String.format("%,d", value); // outputs 100,000

双打:

double value = 21403.3144d;
String.format("%,.2f", value); // outputs 21,403.31

字符串。格式是非常强大的。

- 根据psuzzi反馈编辑。

/**
@inpute 100000
@return 1,000,000
*/
    public static String addComma(long amount) {
        return NumberFormat.getNumberInstance(Locale.US).format(amount);
    }

其他答案都是正确的,但是在使用“%,d”之前,请仔细检查您的语言环境:

Locale.setDefault(Locale.US);
int bigNumber = 35634646;
String formattedNumber = String.format("%,d", bigNumber);
System.out.println(formattedNumber);

Locale.setDefault(new Locale("pl", "PL"));
formattedNumber = String.format("%,d", bigNumber);
System.out.println(formattedNumber);

结果:

35,634,646
35 634 646

首先,你需要包括JSTL标签:-

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 

在页面的开头