java中字符串和数字变量之间的转换方法

1,将字符串转换成数字变量

方法1,采用BigInger(String val)这个构造器,可以直接将十进制的字符串格式变成大整数

eg:BigInteger a=new BigInteger(“2222”);
输出结果就为 2222.

***其中BigInteger 不是基本数据类型,所以大数的加减乘除也不能使用+、-、*、/这些运算符号,Java也没有对这些运算符号进行重定义,取而代之的是用一些方法来代替,比如add()、subtract()、mutiply()、divide()这四种方法。
方法举例:


 *BigInteger abs()  返回大整数的绝对值
BigInteger add(BigInteger val) 返回两个大整数的和
BigInteger and(BigInteger val)  返回两个大整数的按位与的结果
BigInteger andNot(BigInteger val) 返回两个大整数与非的结果
BigInteger divide(BigInteger val)  返回两个大整数的商
double doubleValue()   返回大整数的double类型的值
float floatValue()   返回大整数的float类型的值
BigInteger gcd(BigInteger val)  返回大整数的最大公约数
int intValue() 返回大整数的整型值
long longValue() 返回大整数的long型值
BigInteger max(BigInteger val) 返回两个大整数的最大者
BigInteger min(BigInteger val) 返回两个大整数的最小者
BigInteger mod(BigInteger val) 用当前大整数对val求模
BigInteger multiply(BigInteger val) 返回两个大整数的积
BigInteger negate() 返回当前大整数的相反数
BigInteger not() 返回当前大整数的非
BigInteger or(BigInteger val) 返回两个大整数的按位或
BigInteger pow(int exponent) 返回当前大整数的exponent次方
BigInteger remainder(BigInteger val) 返回当前大整数除以val的余数
BigInteger leftShift(int n) 将当前大整数左移n位后返回
BigInteger rightShift(int n) 将当前大整数右移n位后返回
BigInteger subtract(BigInteger val)返回两个大整数相减的结果
byte[] toByteArray(BigInteger val)将大整数转换成二进制反码保存在byte数组中
String toString() 将当前大整数转换成十进制的字符串形式
BigInteger xor(BigInteger val) 返回两个大整数的异或*

方法2,由 String 转换成 数字的基本数据型态

*要将 String 转换成基本数据型态转
大多需要使用基本数据型态的包装类别
比如说 String 转换成 byte
可以使用 Byte.parseByte(String s)
这一类的方法如果无法将 s 分析 则会丢出 NumberFormatException


package qin001;

byte :
Byte.parseByte(String s) : 将 s 转换成 byte
Byte.parseByte(String s, int radix) : 以 radix 为基底 将 s 转换为 byte
比如说 Byte.parseByte("11", 16) 会得到 17
double :
Double.parseDouble(String s) : 将 s 转换成 double
float :
Double.parseFloat(String s) : 将 s 转换成 float
int :
Integer.parseInt(String s) : 将 s 转换成 int
long :
Long.parseLong(String*

2,将数字变量转换成字符串

采用String.valueOf();这个参数转载方法

import java.util.Scanner;

public class Hello01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		*String.valueOf(boolean b) :boolean 变量 b 转换成字符串
		String.valueOf(char c) :char 变量 c 转换成字符串
		String.valueOf(char[] data) :char 数组 data 转换成字符串
		String.valueOf(char[] data, int offset, int count) :char 数组 data 中 由 data[offset] 开始取 count 个元素 转换成字符串
		String.valueOf(double d) :double 变量 d 转换成字符串
		String.valueOf(float f) :float 变量 f 转换成字符串
		String.valueOf(int i) :int 变量 i 转换成字符串
		String.valueOf(long l) :long 变量 l 转换成字符串
		String.valueOf(Object obj) : 将 obj 对象转换成 字符串, 等于 obj.toString()
		用法如:
		int i = 10;
		String str = String.valueOf(i);
		这时候 str 就会是 "10"*
}
}

举例:输入一个正整数n,输出n!的值。   其中n!=123…n。 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。   将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位。   首先将a设为1,然后乘2,乘3,当乘到n时,即得到了n!的值。

package 练习;

import java.math.BigInteger;
import java.util.Scanner;

public class Java {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in=new Scanner(System.in);
		int n=in.nextInt();
		BigInteger sum=new BigInteger("1");
		for(int i=1;i<=n;i++){
			String N=String.valueOf(i);
			sum=(new BigInteger(N)).multiply(sum);
		}
		System.out.println(sum);
	}
}

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值