C# int类型显示和隐式转换的比较

C#对于int类型在隐式转换和强制转换上是有一定区别的,对于C#细节的差别还是需要多尝试才能心中有数,不然就可能在编程的时候导致一些很诡异的计算结果不正确,下面是各种转换版本之间细微的区别,希望大家以后在使用的时候注意:

int x1 = (int)234.67f  结果是234 (直接去掉了小数位)
int x2 = Convert.ToInt32(234.67f) 结果是 235 (进行四舍五录)
int x3 = Math.Ceiling(234.12f)  结果是 235 (只要有小数位就录一)
显示转换不对结果进行四舍五录,强制转换后结果进行四舍五录,Math.Ceiling总是上录数。

int.TryParse("10.00", out x)转换失败  (当int进行带有小数位的尝试转换时会失败)

float.TryParse("1,3230.10", out x) 转换成功

你可能感兴趣的:(int)