1001 A+B Format
题目:Calculate a+b and output the sum in standard formatthat is,the digits must be seperated into groups of three by commas (unless there are less than four digits).
Input
Each inout file contains one test case.Each case contains a pair of integers a and b where -1000000<=a,b<=1000000.The number are sperated by a space.
Output
For each test case ,you should output the sum of a and b in one line.The sum must be written in the standard format.
Sample Input
-1000000 9
Sample Output:
-999,991
1 import java.text.DecimalFormat; 2 import java.util.Scanner; 3 4 public class P1001 { 5 6 public static String formatTosepara(float sum) { 7 8 DecimalFormat sum1 = new DecimalFormat("#,###"); 9 return sum1.format(sum); 10 } 11 12 public static void main(String args[]) { 13 Scanner read = new Scanner(System.in); 14 int a = read.nextInt(); 15 int b = read.nextInt(); 16 int sum = a + b; 17 System.out.println(formatTosepara(sum)); 18 19 } 20 }
结果:
代码测试通过,20分。
Java编程PAT遇到的问题
1.怎么实现数字从后向前每隔三位加一个逗号:
Java DecimalFormat 用法(数字格式化)
我们经常要将数字进行格式化,比如取2位小数,这是最常见的。Java 提供 DecimalFormat 类,帮你用最快的速度将数字格式化为你需要的样子。下面是常用的例子:
1 import java.text.DecimalFormat; 2 3 public class Test{ 4 public static void main(String[] args){ 5 double pi=3.1415927;//圆周率 6 //取一位整数 7 System.out.println(new DecimalFormat("0").format(pi));//3 8 //取一位整数和两位小数 9 System.out.println(new DecimalFormat("0.00").format(pi));//3.14 10 //取两位整数和三位小数,整数不足部分以0填补。 11 System.out.println(new DecimalFormat("00.000").format(pi));//03.142 12 //取所有整数部分 13 System.out.println(new DecimalFormat("#").format(pi));//3 14 //以百分比方式计数,并取两位小数 15 System.out.println(new DecimalFormat("#.##%").format(pi));//314.16% 16 17 long c=299792458;//光速 18 //显示为科学计数法,并取五位小数 19 System.out.println(new DecimalFormat("#.#####E0").format(c));//2.99792E8 20 //显示为两位整数的科学计数法,并取四位小数 21 System.out.println(new DecimalFormat("00.####E0").format(c));//29.9792E7 22 //每三位以逗号进行分隔。 23 System.out.println(new DecimalFormat(",###").format(c));//299,792,458 24 //将格式嵌入文本 25 System.out.println(new DecimalFormat("光速大小为每秒,###米").format(c)); //光速大小为每秒299,792,458米 26 } 27 } 28 复制代码
DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置。上面的例子包含了差不多所有的基本用法,如果想了解更多,请参考 DecimalFormat 类的文档。