string format用法
- 行业动态
- 2024-01-18
- 1
“string format”是C#中用于格式化字符串的方法。它允许你将变量插入到 字符串中,以创建更复杂的文本。
String.format()是Java中的一个非常有用的方法,它可以用于创建格式化的字符串,这个方法的主要优点是它比使用+运算符来连接字符串更加高效,因为它在内部使用了StringBuilder类,String.format()还提供了更强大的格式化选项,可以控制输出字符串的格式。
基本用法
String.format()的基本用法非常简单,你只需要将要格式化的字符串和一些占位符传递给这个方法,然后它会返回一个新的格式化后的字符串,占位符是用大括号{}括起来的,你可以在其中指定要插入的值的类型。
String name = "张三"; int age = 20; String result = String.format("我的名字是%s,我今年%d岁。", name, age); System.out.println(result); // 输出:我的名字是张三,我今年20岁。
在这个例子中,"%s"是一个字符串占位符,"%d"是一个整数占位符,当你调用String.format()方法时,它会将这些占位符替换为实际的值。
格式化选项
String.format()还提供了一些格式化选项,你可以使用这些选项来控制输出字符串的格式,以下是一些常用的格式化选项:
1、%b:将一个二进制数转换为二进制字符串。
2、%c:将一个字符转换为字符类型。
3、%d:将一个整数转换为十进制字符串。
4、%e:将一个浮点数转换为科学计数法表示的字符串。
5、%f:将一个浮点数转换为固定点表示的字符串。
6、%o:将一个整数转换为八进制字符串。
7、%s:将一个对象转换为字符串。
8、%x:将一个整数转换为十六进制字符串。
9、%X:将一个整数转换为大写十六进制字符串。
10、%%:输出一个%。
int num = 123; String binary = String.format("%b", num); // 输出:1111011 char ch = 'A'; String charType = String.format("%c", ch); // 输出:A float pi = 3.14159f; String scientific = String.format("%e", pi); // 输出:3.141590e+00 double fixedPoint = 3.14159; String fixed = String.format("%f", fixedPoint); // 输出:3.141590 int octal = 65; String oct = String.format("%o", octal); // 输出:101 int hex = 255; String hexStr = String.format("%x", hex); // 输出:ff String hexUpper = String.format("%X", hex); // 输出:FF System.out.println(binary + " " + charType + " " + scientific + " " + fixed + " " + oct + " " + hexStr + " " + hexUpper); // 输出:1111011 A 3.141590e+00 3.141590 101 ff FF
格式化模式
除了基本的格式化选项外,String.format()还支持一些格式化模式,你可以使用这些模式来控制输出字符串的格式,以下是一些常用的格式化模式:
1、%n$:输出一个换行符。
2、%,n$:输出一个逗号分隔的数字,宽度为n个字符,如果数字的位数小于n,则在前面补零。
3、%(n$:输出一个宽度为n个字符的左对齐的字段,如果字段的宽度小于n,则在前面补空格,如果字段的宽度大于n,则保持原样。
4、%(,n$:输出一个宽度为n个字符的右对齐的字段,如果字段的宽度小于n,则在后面补空格,如果字段的宽度大于n,则保持原样。
5、%(,-n$:输出一个宽度为n个字符的左对齐的字段,如果字段的宽度小于n,则在后面补空格,如果字段的宽度大于n,则在前面补空格,如果字段的宽度等于n,则保持原样。
6、%(n$:输出一个宽度为n个字符的右对齐的字段,如果字段的宽度小于n,则在前面补空格,如果字段的宽度大于n,则保持原样,如果字段的宽度等于n,则保持原样。
7、%(-n$:输出一个宽度为n个字符的左对齐的字段,如果字段的宽度小于n,则在前面补空格,如果字段的宽度大于n,则保持原样,如果字段的宽度等于n,则保持原样。
8、%(,-n$:输出一个宽度为n个字符的右对齐的字段,如果字段的宽度小于n,则在后面补空格,如果字段的宽度大于n,则保持原样,如果字段的宽度等于n,则保持原样。
9、%(,+n$:输出一个宽度为n个字符的右对齐的字段,如果字段的宽度小于n,则在后面补空格,如果字段的宽度大于n,则保持原样,如果字段的宽度等于n,则在前面补空格。
10、%(+n$:输出一个宽度为n个字符的左对齐的字段,如果字段的宽度小于n,则在前面补空格,如果字段的宽度大于n,则保持原样,如果字段的宽度等于n,则在前面补空格。
int num = 123; String formatted = String.format("%,6d", num); // 输出: 123 int width = 8; String leftAligned = String.format("%(8$d", width); // 输出: 8 int width2 = 8; String rightAligned = String.format("%(8$d", width2); // 输出:8 int width3 = 8; String leftAlignedPadded = String.format("%(-8$d", width3); // 输出:8 int width4 = 8; String rightAlignedPadded = String.format("%(,-8$d", width4); // 输出:8 int width5 = 8; String leftAlignedPlusPadded = String.format("%(+8$d", width5); // 输出: 8 System.out.println(formatted + " " + leftAligned + " " + rightAligned + " " + leftAlignedPadded + " " + rightAlignedPadded + " " + leftAlignedPlusPadded); // 输出: 123 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 System.out.println(formatted + " " + leftAligned + " " + rightAligned + " " + leftAlignedPadded + " " + rightAlignedPadded + " " + leftAlignedPlusPadded); // 输出: 123 System.out.println(formatted + " " + leftAligned + " " + rightAligned + " " + leftAlignedPadded + " " + rightAlignedPadded + " " + leftAlignedPlusPadded); // 输出: 123
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/282541.html