在C#中,要将一个字符串或浮点数转换为整数,基本上有三种方法:

(1)使用强制类型转换:(int)浮点数

(2)使用Convert.ToInt32(string)

(3)使用int.Parse(string)或int.TryParse(string,out int)

在实际使用时,当要转换的字符串或数字带有小数时,发现它们有以下区别:

// int a1 = (int)aa; //错误,无法将string转换为int
int a2 = (int)2.83; //正确,将Double类型转换为int,结果为2
int b1 = (int)'a'; //结果为97,注意是字符,而不是字符串(如果是字符串,编译不能通过)
decimal a = 2.83M;
int b4 = (int)a; //正确,将decimal类型转换为int,结果为2

int a3 = Convert.ToInt32("2"); // 正确,结果为2
int b6 = Convert.ToInt32(2.8); //b的值为3,(四舍五入)
int a5 = int.Parse("2"); // 正确,结果为2
//int a3 = Convert.ToInt32("2.83"); // 报异常,说明其参数必须是整数字符串
//int a4 = int.Parse("2.83"); // 报异常,说明其参数必须是整数字符串
//int b3 = int.Parse("a"); //报异常
//int b2 = Convert.ToInt32("a"); //报异常

int c = -1;
int.TryParse("2.83", out c); //不能转换成功,结果为0
int.TryParse("2", out c); //转换成功,结果为2
int.TryParse("a", out c); //结果为0

//将字符串转换为int方法
decimal resMin1 = 0;
string strValue = "3.00000";
// Decimal m = (decimal)strValue; //错误,无法将string转换为decimal
Decimal.TryParse(strValue, out resMin1); //正确,resMin1为3
int cnt = Convert.ToInt32(resMin1); //正确cnt为3

C#将字符串转换为整型的三种方法的总结的更多相关文章

  1. 007——转载——C#将字符串转换为整型的三种方法的总结

    (一)转载——C#将字符串转换为整型的三种方法的总结 在C#中,要将一个字符串或浮点数转换为整数,基本上有三种方法: (1)使用强制类型转换:(int)浮点数 (2)使用Convert.ToInt32 ...

  2. 剑指offer-第七章面试案例1(字符串转换为整型)

    //将字符串转换为整型 //思路:特殊的输入测试: //1,考虑字符串是否为空.2.字符串问空的时候的返回0,和真实的返回0直键的区别.3,字符串中出现0~9的字符处理 //4.字符串中出现*,¥等一 ...

  3. 【转载】 C#中使用int.TryParse方法将字符串转换为整型Int类型

    在C#编程过程中,将字符串string转换为整型int过程中,时常使用的转换方法为int.Parse方法,但int.Parse在无法转换的时候,会抛出程序异常,其实还有个int.TryParse方法可 ...

  4. 【转载】C#中使用int.Parse方法将字符串转换为整型Int类型

    在C#编程过程中,很多时候涉及到数据类型的转换,例如将字符串类型的变量转换为Int类型就是一个常见的类型转换操作,int.Parse方法是C#中专门用来将字符串转换为整型int的,int.Parse方 ...

  5. JavaScript进阶(四)js字符串转换成数字的三种方法

    js字符串转换成数字的三种方法 在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b. ...

  6. 总结PHP删除字符串最后一个字符的三种方法

    一.前言 从数据库中select()读取一对多的信息时,经常需要将取出的数组用某个特定的字符分割,然后拼接成字符串. 常见的语法格式: foreach ($arr as $key => $val ...

  7. java将doc文件转换为pdf文件的三种方法

    http://feifei.im/archives/93 —————————————————————————————————————————————— 项目要用到doc转pdf的功能,一番google ...

  8. 在JavaScript中判断整型的N种方法

    原文:http://www.cnblogs.com/YcYYcY/p/3759184.html 整数类型(Integer)在JavaScript经常会导致一些奇怪的问题.在ECMAScript的规范中 ...

  9. 做一次面向对象的体操:将JSON字符串转换为嵌套对象的一种方法

    背景与问题 在 <一个略复杂的数据映射聚合例子及代码重构> 一文中,将一个JSON字符串转成了所需要的订单信息Map.尽管做了代码重构和配置化,过程式的代码仍然显得晦涩难懂,并且客户端使用 ...

随机推荐

  1. fedora22多媒体编码

    sudo dnf install gstreamer-plugins-bad gstreamer-plugins-bad-free-extras gstreamer-plugins-ugly gstr ...

  2. CSS控制文本超出指定宽度后用省略号代替,CSS控制文本不换行

    CSS控制文本超出指定宽度后用省略号代替,CSS控制文本不换行. 一般的文字截断(适用于内联与块): .text-overflow {     display:block;/*内联对象需加*/     ...

  3. leetcode 150. Evaluate Reverse Polish Notation ------ java

    Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, ...

  4. leetcode 107 Binary Tree Level Order Traversal II ----- java

    Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left ...

  5. Objective-c——UI基础开发第七天(自定义UITableView)

    一.梗概: 1.自定义:headerView,footerVie,Cell等 2.双模型(遵循单一原则,类或模型实现的功能尽量单一) 3.计算文本的方法(针对不同文本内容而设置的宽高等) 4.设置fo ...

  6. Codeforces Round #144 (Div. 2)

    A. Perfect Permutation 奇偶对调. B. Non-square Equation \(s(x)\)不超过200,根据求根公式计算\(x\). C. Cycles 每次新增点时都和 ...

  7. kuangbin_UnionFind B (POJ 1611)

    过程是模板 merge完后扫一下几个跟0同祖先节点就是答案了 #include <iostream> #include <string> #include <cstdio ...

  8. java 计算器基于工厂模式和功能单一模式

    import java.util.Scanner; public class CaculationTest { public static void main(String[] args) { Sca ...

  9. 学习笔记之 初试Linux遇到的问题 2015-10-13

    1. 安装.deb文件,用sudo gdebi XXX.deb sudo apt-get install xxx 2. 需要配置系统路径: LD_LIBRARY_PATH=.../lib:LD_LIB ...

  10. MySQL DBA的个人修养

    做为一个MySQL DBA,必须具有以下的素质: 一, 身体素质 DBA必须接收和处理各种报警,不论是中午在吃饭或者凌晨三点已经进入深度睡眠.接到报警需要立即进入应急状态,找到电脑,联上网络,快速定位 ...