- 如何将字符串转换为数字?
- 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 }
2.如何将数字转换为十六进制字符串? - 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 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 }
- 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 }
2.如何将浮点数输出为指定位数的科学计数法? - 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
编程是一种快乐,享受代码带给我的乐趣!!!