int、float、double In .Net之相互转换

最近在检查我们公司某台Server时,发现Windows日志中记录了很多SystemToNumber的Crash Exception,问题原因为公司的同事Coding时都犯了一个最基本的原则性错误,鉴于此,觉得还是有必要再梳理下.Net中三个基本的数值类型(int、float、double),。

Int :在.NET中,int是有符号的32位整型数值 ,无论处理器是32位还是64位,它的.NET框架类型是System.Int32 。

Float:单精度浮点数,32位长度,1位实数符号位(原码表示),1位指数符号位,7位指数位(此八位为移码表示)以及23位数据位(补码表示),在.net中又称为Single。

Double: 64位长度的双精度浮点数,1位符号位,11位指数位,52位数据位。

三者的转换关系:

1. int可以隐式转换成float和double;

2.float只能强制转换成int,但是可以隐式转换成double;

3.double只能强制转换成float和int。

PS:

注意区分:(1)Convert.ToInt32("56.89")  和  (2)Convert.ToInt(56.89)

(1)的这种写法会导致抛出FormatException,所以要用(2)这种写法。

时间: 2024-10-09 21:54:22

int、float、double In .Net之相互转换的相关文章

[C++] string与int, float, double相互转换

参考:http://blog.csdn.net/candadition/article/details/7342380 将string类型转换为int, float, double类型 主要通过以下几种方式: # 方法一: 使用stringstream stringstream在int或float类型转换为string类型的方法中已经介绍过, 这里也能用作将string类型转换为常用的数值类型. Demo: #include <iostream> #include <sstream>

关于c中 int, float, double转换中存在的精度损失问题

先看一段代码实验: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #include<limits> #include<iostream> using namespace std; int main() {     unsigned int i = numeric_limits<unsigned int >::max();     float f = i;     unsigned

C 语言实例 - 计算 int, float, double 和 char 字节大小。

使用 sizeof 操作符计算int, float, double 和 char四种变量字节大小. sizeof 是 C 语言的一种单目操作符,如C语言的其他操作符++.--等,它并不是函数. sizeof 操作符以字节形式给出了其操作数的存储大小. #include <stdio.h>int main(){    int integerType;    float floatType;    double doubleType;    char charType;    // sizeof

C++中将string类型转换为int, float, double类型 主要通过以下几种方式:

# 方法一: 使用stringstream stringstream在int或float类型转换为string类型的方法中已经介绍过, 这里也能用作将string类型转换为常用的数值类型. Demo: [cpp] view plaincopy #include <iostream> #include <sstream>    //使用stringstream需要引入这个头文件 using namespace std; //模板函数:将string类型变量转换为常用的数值类型(此方法

Day1 (let and var)/(String,Int,Float,Double)/(Tuples,contains: array,dictionary)

let secondSystem:Int = 0b10001 let eightSystem:Int  = 0o21 let tenSystem:Int    = 17 let sixthSystem:Int  = 0x11 // summary: 1.u need insert a "Enter" behind equal symbol let num_a:Float = 1 let num_b:Int = 1 let a:Int = 3 let b:Double = 0.14159

C语言当中int,float,double,char这四个有什么区别?

区别在以下方面: 一.定义方面: 1.int为整数型,用于定义整数类型的数据 . 2.float为单精度浮点型,能准确到小数点后六位 . 3.double为双精度浮点型,能准确到小数点都十二位 . 4.char为字符型,用于定义字符类型的数据. 二.内存占据: 1.int 的内存大小是4 个byte. 2.float 内存大小是4 个byte. 3.double 的内存大小是8 个byte. 4.char 的内存大小是1 个byte. 基本数据类型表如下: 三.表示的数据范围: 1.int:数的

Swift入门(九)——String与Int、Double、Float等数字相互转换

三种转换模式 任何语言里面,Int.float.double等数字类型自成一派,但它们和String类型之间的转换总是不太方便,这里总结一下它们相互转换的方法.总结下来一共有三种转换模式,分别举例说明. 一.String转数字 这里以String类型转Int类型为例.String转其他的数字类型(Float.Double等)大同小异.主要用到的方法是String类型的toInt方法.注意这个方法返回的是Int?,即一个整数可选类型.所以需要解封. var string = "1234"

java中int,float,long,double取值范围,内存泄露

java中int,float,long,double取值范围是多少? 写道 public class TestOutOfBound { public static void main(String[] args) { System.out.println(Integer.MAX_VALUE-(-Integer.MAX_VALUE)); //内存溢出System.out.println(Integer.MAX_VALUE); //2的31次方-1,10个数位,正的20亿左右,用在钱上面不一定够Sy

int、double、boolean、char、float、long、Object等七种数据类型转换成String数据类型 用到的方法是String.valueOf();

//int.double.boolean.char.float.long.Object类型数据转换成String //int类型转换成String类型 int h=123456; String l=String.valueOf(h); System.out.println("int类型转换成String类型:"+l); //double类型转String double a=1.1; String A=String.valueOf(a); System.out.println("

Java中基本数据类型byte,short,char,int,long,float,double

部分内容转自:java 彻底理解 byte char short int float long double 首先说byte: 这段是摘自jdk中 Byte.java中的源代码: 1 /** 2 * A constant holding the minimum value a <code>byte</code> can 3 * have, -2<sup>7</sup>. 4 */ 5 public static final byte MIN_VALUE =