Java 格式字符串[211659646]->[211.659.646]
我需要一个方法来做到这一点。我已经搜索了很长时间,但没有找到解决方案 我只想格式化一个字符串,例如: 等等 你能帮我回答这个问题吗?对于这样的问题,我应该学习什么 谢谢:D代码示例:Java 格式字符串[211659646]->[211.659.646],java,android,Java,Android,我需要一个方法来做到这一点。我已经搜索了很长时间,但没有找到解决方案 我只想格式化一个字符串,例如: 等等 你能帮我回答这个问题吗?对于这样的问题,我应该学习什么 谢谢:D代码示例: String number = "1000000.11"; double amount = Double.parseDouble(number); DecimalFormat f = new DecimalFormat("#,###.00"); System.out.printin(f.format(amount
String number = "1000000.11";
double amount = Double.parseDouble(number);
DecimalFormat f = new DecimalFormat("#,###.00");
System.out.printin(f.format(amount));
如果您希望格式化某些小数点,则可以使用此选项
或者你可以使用
int i = 1000000;
string s = NumberFormat.getIntegerInstance().format(i);
代码示例:
String number = "1000000.11";
double amount = Double.parseDouble(number);
DecimalFormat f = new DecimalFormat("#,###.00");
System.out.printin(f.format(amount));
如果您希望格式化某些小数点,则可以使用此选项
或者你可以使用
int i = 1000000;
string s = NumberFormat.getIntegerInstance().format(i);
您可以使用DecimalFormat,如下所示:
DecimalFormat format = new DecimalFormat("#,###.000");
然后把号码传给它:
System.out.println(format.format(#your-int));
您可以使用DecimalFormat,如下所示:
DecimalFormat format = new DecimalFormat("#,###.000");
然后把号码传给它:
System.out.println(format.format(#your-int));
插入点。输入一个字符串而不是一个数字,在每3个位置,从末尾开始,可以执行以下操作:
private static String format(String s) {
if (s.length() <= 3)
return s;
int first = (s.length() - 1) % 3 + 1;
StringBuilder buf = new StringBuilder(s.substring(0, first));
for (int i = first; i < s.length(); i += 3)
buf.append('.').append(s.substring(i, i + 3));
return buf.toString();
}
由于您特别要求在字符串上执行此操作,因此它可以在任何字符串上执行此操作,例如
你好,世界!->你好,你好!
插入点。输入一个字符串而不是一个数字,在每3个位置,从末尾开始,可以执行以下操作:
private static String format(String s) {
if (s.length() <= 3)
return s;
int first = (s.length() - 1) % 3 + 1;
StringBuilder buf = new StringBuilder(s.substring(0, first));
for (int i = first; i < s.length(); i += 3)
buf.append('.').append(s.substring(i, i + 3));
return buf.toString();
}
由于您特别要求在字符串上执行此操作,因此它可以在任何字符串上执行此操作,例如
你好,世界!->你好,你好!
Java 8解决方案:
private static String format(String s) {
int groupCount = (s.length() + 2) / 3;
return IntStream.range(0, groupCount).boxed()
.map (i -> s.substring(
Math.max(0, s.length() - 3 * (groupCount - i)),
s.length() - 3 * (groupCount - 1 - i)))
.collect(Collectors.joining("."));
}
Java 8解决方案:
private static String format(String s) {
int groupCount = (s.length() + 2) / 3;
return IntStream.range(0, groupCount).boxed()
.map (i -> s.substring(
Math.max(0, s.length() - 3 * (groupCount - i)),
s.length() - 3 * (groupCount - 1 - i)))
.collect(Collectors.joining("."));
}
可能重复的可能重复的Woow,这正是我要找的。非常感谢,效果非常好:哦,这正是我要找的。非常感谢,它工作得很好