Java中将数字转换成字符串的几种方法有哪些?
- 后端开发
- 2025-09-14
- 6
在Java中,将数字转换成字符串的方法有多种,以下是一些常用的方法:
使用String.valueOf()
String.valueOf()方法可以将任何类型的对象转换为字符串,对于数字,它将数字转换为它的字符串表示。
int number = 12345; String str = String.valueOf(number); System.out.println(str); // 输出:12345
使用Integer.toString()
Integer.toString()方法与String.valueOf()类似,也可以将整数转换为字符串。

使用运算符
在Java中,可以使用运算符将数字与字符串拼接,从而将数字转换为字符串。
int number = 23456; String str = "" + number; System.out.println(str); // 输出:23456
使用String.format()
String.format()方法可以格式化字符串,包括将数字转换为字符串。

使用StringBuilder
对于更复杂的字符串操作,可以使用StringBuilder类。
int number = 23456; StringBuilder sb = new StringBuilder(); sb.append(number); String str = sb.toString(); System.out.println(str); // 输出:23456
使用DecimalFormat
DecimalFormat类可以用于格式化数字为字符串,包括设置小数点、千位分隔符等。
import java.text.DecimalFormat; int number = 345678; DecimalFormat df = new DecimalFormat("#,###"); String str = df.format(number); System.out.println(str); // 输出:345,678
使用NumberFormat
NumberFormat类可以格式化数字,包括本地化。

import java.text.NumberFormat; import java.util.Locale; int number = 456789; NumberFormat nf = NumberFormat.getNumberInstance(Locale.US); String str = nf.format(number); System.out.println(str); // 输出:456,789
使用Integer.toString()与Character类
可以将数字的每一位转换为字符,然后拼接成字符串。
int number = 567890; StringBuilder sb = new StringBuilder(); while (number > 0) { sb.append(Character.forDigit(number % 10, 10)); number /= 10; } String str = sb.reverse().toString(); System.out.println(str); // 输出:567890
表格对比
| 方法 | 优点 | 缺点 |
|---|---|---|
| String.valueOf() | 简单易用 | 对于大数字可能较慢 |
| Integer.toString() | 简单易用 | 与String.valueOf()类似 |
| 运算符 | 简单易用 | 对于大数字可能较慢 |
| String.format() | 格式化灵活 | 相对复杂 |
| StringBuilder | 高效 | 相对复杂 |
| DecimalFormat | 格式化灵活 | 相对复杂 |
| NumberFormat | 本地化支持 | 相对复杂 |
| Integer.toString()与Character类 | 高效 | 相对复杂 |
FAQs
Q1:如何将数字转换成字符串,并在字符串前添加特定字符?
int number = 12345; String prefix = "*"; String str = prefix + String.valueOf(number); System.out.println(str); // 输出:*12345
Q2:如何将数字转换成字符串,并在字符串后添加特定字符?
int number = 12345; String suffix = "#"; String str = String.valueOf(number) + suffix; System.out.println(str); // 输出:12345#