将字符串转换为日期 string value= "2009-11-25" DateTime dt= Convert.ToDateTime(value); 日期转换为字符串(2009,11,25 ) string s = dt.ToString("yyyy,mm,dd");
如何将string 转换为 decimal
decimal d=decimal.Parse(str);
decimal d=Convert.ToDecimal("string");
String类型小数值转换为Long类型
数值分为小数和整数,当传入的类型为String,需要获取的类型为Long,这时候直接通过Long.valueOf()可以实现,但是当传入的String类型是小数值得时候(如传入的是金额数值:"29.90",注意:金额数值经常进行乘以100后再往下执行业务逻辑:)就会出现
异常java.lang.NumberFormatException: For input string: "29.90",解决方案如下:
(对于多位小数的数值转化为long的时候需要先将其进行转换成整数过渡处理)
String orderAmount = "29.90";
Number num = Float.parseFloat(orderAmount) * 100;
int oamount = num.intValue();
long _cost = Long.valueOf(oamount);
C#中(int)、Conver.Toint32()、int.Parse()三种类型转换方式的区别与联系
1、(int)可用于单精度、双精度等其他数值类型的转换(到整型int),不能用于转换string类型,例如:
这里用(int)转换string是不可以的,系统会报错,程序是不能运行。
string myString = "520";
int myint;
myint = (int) myString;
Console.WriteLine(myint);
下面例子是转换单精度类型float,这是可以的
int x;
float y = 1.2f;
x = (int) y;
Console.WriteLine(x);
Console.ReadKey();
使用(int):Double或Float被转换成int类型,小数部分不进行四舍五入,结果是取整的
//double转换为int,使用Convert.ToInt32()
double myInt = 1.6;
string myString = "123.45";
//string myString="abcd";
//string myString = "12345";
int intResult;
string stringResult;
intResult = (int) myInt;
Console.WriteLine(intResult);
Console.Read();
2、Convert.ToInt32() 可以转换字符串类型,但是字符串里的内容必须是"123456"这种,即:里面是整型数值类型的。不能是"123.456"(可认为里面是小数的)或者"abcdef"。也可转换值类型,如Double和Float。
字符串为"123.45",系统会报错:
int myInt;
string myString = "123.45";
//string myString="abcd";
//string myString = "12345";
int intResult;
string stringResult;
intResult = Convert.ToInt32(myString);
Console.WriteLine(intResult);
Console.Read();
使用Convert.ToInt32():double或float被转换为int,小数部分可以是四舍五入的。规则是:整数位如果是:0-4:直接舍掉小数位。若数值为5.6,规则是:整数位如果为5,要返回临近偶数()结果是6 整数位为6-9是,都要进位。
//double转换为int,使用Convert.ToInt32()
double myInt = 1.6;
string myString = "123.45";
//string myString="abcd";
//string myString = "12345";
int intResult;
string stringResult;
intResult =Convert.ToInt32(myInt);
Console.WriteLine(intResult);
Console.Read();
3、int.Parse()在只能转换string类型,不能是其他,例如double到int这些数值类型是不可以的。另外,在转换string时,和Convert.ToInt32() 同,字符串里的内容必须是"123456"这种,即:里面是整型数值类型的。不能是"123.456"(可认为里面是小数的)或者"abcdef"。
int myInt;
//string myString = "123.45";
//string myString="abcd";
string myString = "12345";
int intResult;
string stringResult;
intResult = int.Parse(myString);
Console.WriteLine(intResult);
Console.Read();
double-->int不行
//double转换为int,使用Convert.ToInt32()
double myInt = 1.6;
string myString = "123.45";
//string myString="abcd";
//string myString = "12345";
int intResult;
string stringResult;
intResult = int.Parse(myInt);
Console.WriteLine(intResult);
Console.Read();
4、Conver.ToInt32()可以将string=null转换为0,而(int)、int.Parse()不能对空字符串进行转换,实例:
String myString = null;
String resultString;
int myInt;
// myInt = (int)myString;//不能转换null
myInt = Convert.ToInt32(myString);//将null转换为0
// myInt = int.Parse(myString);//不能转换null
Console.WriteLine(myInt);
Console.Read();
5、int类型转换为string 类型,使用强制类型转换符,可用Convert.ToString()去转换
//强制括号转换只能转换数值类型的
int myInt = 3;
string stringResult;
stringResult=(string) myInt;
Console.Read();
//强制括号转换只能转换数值类型的
int myInt = 333;
string stringResult;
//stringResult = Convert.ToString(myInt);
stringResult = myInt.ToString();
Console.WriteLine(stringResult);
Console.Read();
Convert.ToInt32()和int.Parse()的区别
(1)
Convert.ToInt32(null)会返回0而不会报异常,但int.Parse(null)则会产生异常
(2)
Convert.ToInt32(“”)和int.Parse(“”)都会产生异常,两个方法的参数不能为空字符串。
(3)
a. Convert.ToInt32(double value)
如果 value 为两个整数中间的数字,则返回二者中的偶数;即 3.5转换为4,4.5 转换为 4,而 5.5 转换为 6。 不过4.6可以转换为5,4.4转换为4
b. int.Parse(“4.5”)
直接报错:”输入字符串的格式不正确”.
c. int(4.6) = 4
Int转化其他数值类型为Int时没有四舍五入,强制转换
Convert.ToInt32()的参数有很多个,而int.Parse()的参数只能是string类型的。Parse就是把string转换为int,double,char 等等。*.Parse(string)括号中一定要是string类型的。