人生では、同じ時間を表す20:32:32PMや、金額を表す122、223、223.23など、さまざまな形式で数字を書きます。Javaには数字をフォーマットする方法もあります。 java5.0 以降では、java.util の Formatter クラスを使用して数値をフォーマットできます。この機能を実現できる String の format() メソッドがあるため、このクラスを継承したり、このクラスのメソッドを呼び出したりする必要はありません。 。
例: String.format("String str", number);
このメソッドは、2 つ以上のパラメータを渡すことによって実行され、次のパラメータは数値パラメータです。次のように、文字列パラメータの % の前と % の後に任意の文字列を記述することもできます。 number 3,223.1
詳細については、以下のコードを参照してください。
public class TestTest { public static void main(String[] args) { System.out.println(String.format("It’s a number%,6.1f",2223223.155)); System.out.println(String.format("It’s a number %,.1f",3223.12)); //%后面可以跟五个部分,但是只有类型部分是必须写的,如上句中的f即为单精度浮点型,还有四个部分按顺序 //分别是可以指定参数的数字(有超过两个参数以上时),特定的类型(如上句中的“,”,或者给输出加上正负号),规定最小字符数(如上面的“6”),“.”符号加上精确度。 } }
import java.util.Date; public class NumGeShiHua { public static void main(String[] args) { String s = String.format("test%,11d, %,.3f.", 1007000, 220000.12352); System.out.println(s); // 输出日期:sunday,Nov28 204, // 特别二的方法,只是为了输出所需输出的日期字符串 int b = 28; int c = 204; String a = String.format("sunday,Nov%d %d", b, c); System.out.println(a); // 把Date类型的变量日期用这样的格式输出,Date是JAVA上表示时间的类, // 所以如果用这种format方法的话,数字与日期时间格式化的主要差别在于日期格式的类型 // 日期格式使用"t"开头的两个字符来表示。例如: String tc = String.format("%tc", new Date());// 这个%tc是用来表示完整的日期和时间。 String tr = String.format("%tr", new Date());// %tr是只表示时间。 // 用%tA%tB%tC来表示周月日; Date today = new Date(); String time2 = String.format("%tA,%tB %tC", today, today, today); // 表达周月日还有另外一种表达方式。 String time = String.format("%tA,%<tB %<tC", today); // 这里面的<符号是特殊的指示,用来告诉程序重复利用之前的参数,在这里参数就是today。 System.out.println("现在是日期和时间是 " + tc);// 打印完整的日期,年月日还有具体的时间。 System.out.println("现在的时间是 " + tr);// 打印具体的时间。 System.out.println("今天的日期是 " + time);// 打印周月日。 System.out.println("今天的日期是 " + time2); } // 在这里面需要用到java.util.Date,需要先创建出类Date对象。 // 如果要是操作日期,建议使用java.utli.Calendar这个类。是个抽象类。 }// 在格式化语句中,%+参数角标+特定类型的特定选项如逗号正负号+最小的字符数+.precision(精确度,前面带有.符号)+类型(如int // float), // 后面跟上需要格式化的数据,