1 package Day_2;
2 /**
3 * @author Administrator
4 * 功能: 如何将字符串转换为数字?
5 */
6 public class StringToInteger {
7 public static void main(String args [])
8 {
9 String ss="123";
10 int val = Integer.parseInt(ss);
11 System.out.println(val);
12 ss="123.4";
13 float va =Float.parseFloat(ss);
14 System.out.println(va);
15 }
16 }
1 public class HexToOxc {
2
3 private static final String dic = "0123456789ABCDEF";;
4
5 /**
6 * @param args
7 * 如何将数字转换为十六进制字符串?
8 */
9
10 public static void main(String[] args) {
11 // TODO Auto-generated method stub
12
13 int num=0;
14 String ans="";
15 Scanner reader = new Scanner(System.in);
16 while(reader.hasNext()){
17 num = reader.nextInt();
18 ans=IntToOxc(num);
19 System.out.println(ans);
20 }
21
22 }
23
24 static String IntToOxc(int num){
25 String ss="";
26 while(num>0){
27 int pos = num%16 ;
28 ss+=dic.charAt(pos);
29 num/=16;
30 }
31 return (new StringBuffer(ss)).reverse().toString();
32 }
33 }
如何对浮点数打印出指定小数位数?
1 package com.Gxjun.problem;
2
3 /*
4 * 如何对浮点数打印出指定小数位数?
5 */
6
7 import java.math.BigDecimal;
8
9 public class FreFloat {
10 public static void main(String args []){
11 System.out.println(divdouble(1.123456,1,5));
12 System.out.println(divdouble1(1.123456,1,5));
13 }
14
15 //四舍五入模式
16 public static double divdouble(double d1,double d2,int len)
17 {
18
19 BigDecimal b1 = new BigDecimal(Double.toString(d1));
20 BigDecimal b2 = new BigDecimal(Double.toString(d2));
21 return b1.divide(b2,len, BigDecimal.ROUND_HALF_UP).doubleValue();
22 }
23 //非四舍五入模式
24 public static double divdouble1(double d1,double d2,int len)
25 {
26
27 BigDecimal b1 = new BigDecimal(Double.toString(d1));
28 BigDecimal b2 = new BigDecimal(Double.toString(d2));
29 return b1.divide(b2,len,1).doubleValue();
30 }
31 }
1 package com.Gxjun.problem;
2
3 import java.math.BigDecimal;
4 import java.text.DecimalFormat;
5 import java.util.Scanner;
6
7 /*
8 *如何将浮点数输出为指定位数的科学计数法?
9 * 输入下列的精确度和科学计数的长度
10 */
11
12 public class SenciceFloat {
13
14 public static void main( String args[] ){
15 double aa= 123.12345;
16 int a,b;
17 Scanner reader = new Scanner(System.in);
18 while(reader.hasNext()){
19
20 a = reader.nextInt();
21 b = reader.nextInt();
22 System.out.println(Function(aa,a,b));
23 }
24 }
25 public static String Function(double num,int aa ,int bb ){
26 DecimalFormat Decf = new DecimalFormat();
27 String at="",bt="";
28 for(int i=0;i<aa;i++) at += "0";
29 for(int i=0;i<bb;i++) bt += "0";
30 Decf.applyPattern("0."+at+"E"+bt);
31 return Decf.format(num);
32 }
33
1 package com.Gxjun.problem;
2
3 import java.util.Scanner;
4
5 public class Answer {
6 //如何将字节串转换为十六进制字符串?
7 public static void main(String args []){
8 String a1 = "";
9 Scanner reader = new Scanner(System.in);
10 TenToSixTeen tst = new TenToSixTeen();
11 while(reader.hasNext()){
12 a1= reader.next();
13 tst.StringToIntgeer(a1);
14 System.out.println(tst.DealToDec());
15 }
16 }
17 }
18 //定义一个类,处理这个字符串
19 class TenToSixTeen {
20 /*
21 * 我们可以这样来考虑,首先我们得到的字符串一定都是数字组成,
22 * 字符串先转化为数字,然后在转化为十六进制数值
23 */
24 int num;
25
26 /* 字符串转化为数值
27 */
28 public void StringToIntgeer(String str){
29 num=0;
30 int index=1;
31 for(int i=str.length()-1;i>=0;i--){
32 num+=(str.charAt(i)-'0')*index;
33 index*=10;
34 }
35 }
36
37 /* 数值转化为十六进制数值
38 */
39 public String DealToDec(){
40 int sst=0;
41 String st="";
42 do{
43 sst = num%16;
44 num /= 16;
45 if(sst > 9){
46 sst-=10;
47 st+=(char)(sst+97);
48 }
49 else {
50 st+=(char)(sst+48);
51 }
52 }while(num>0);
53
54 return ((new StringBuffer(st)).reverse()).toString();
55 }