首页 > 代码库 > [C#]"23.00"可以转换成int吗
[C#]"23.00"可以转换成int吗
在C# 中想要将String类型转换成int时有以下几种方法:
int.TryParse;
Convert.Toint32;
(int)string;
但是,
使用Convert.ToInt32(string) 会出现输入字符串格式错误问题。
使用Int.TryParse(string)也会转换失败,不会错误,会输出默认的0
解决方案是使用Decimal或者Double去转换
(1)使用Decimal.Parse
string
a =
"23.00"
;
decimal
c =
decimal
.Parse(a);
Console.WriteLine(
"result:{0}"
, (
int
)c);
(2)使用Double.Parse
string
a =
"23.00"
;
Double c = Double.Parse(a);
Console.WriteLine(
"result:{0}"
, (
int
)c);
注:当使用(int)string强行转换的时候你会发现如果带有小数点系统会被自动忽略。
如果使用Convert.ToInt32转换时系统会四舍五入。
附:如何实现一个类型的扩展类。
public
static
class
ObjectExtension
{
public
static
int
ToInt(
this
object
obj)
{
int
result =
default
(
int
);
if
(obj !=
null
&& obj != DBNull.Value)
{
int
.TryParse(obj.ToString(),
out
result);
}
return
result;
}
}
参考:http://www.lorna.com.cn/Articles/Index/402055dd-1da6-452f-9071-62217754e233
[C#]"23.00"可以转换成int吗
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。