zoukankan      html  css  js  c++  java
  • C#基础温习(9):double转int需要注意的地方

    我们都知道在C#double变量所占用的字节数比int的多,那么我们把double类型转化成int类型的时候就会损失一些东西,那么具体的损失规则是什么样的呢?强制转化和Convert.ToInt32转化是否相同呢? 好了上面两个问题用下面的代码和结果来回答,具体的内容聪明的你一看就明白。 示例代码:
    using System;
    
    namespace HelloWorld
    {
        class Program
        {
            static void Main(string[] args)
            {
                double num1 = 6.321;
                int int1 = (int)num1;
                int int11 = Convert.ToInt32(num1);
                double num2 = 6.635;
                int int2 = (int)num2;
                int int22 = Convert.ToInt32(num2);
                double num11 = -6.321;
                int int111 = (int)num11;
                int int1111 = Convert.ToInt32(num11);
                double num22 = -6.635;
                int int222 = (int)num22;
                int int2222 = Convert.ToInt32(num22);
                Console.WriteLine("int1="+int1);
                Console.WriteLine("int11=" + int11);
                Console.WriteLine("int111=" + int111);
                Console.WriteLine("int1111=" + int1111);
                Console.WriteLine("int2=" + int2);
                Console.WriteLine("int22=" + int22);
                Console.WriteLine("int222=" + int222);
                Console.WriteLine("int2222=" + int2222);
                Console.ReadKey();
            }
        }
    }
    运行结果: double2int  

    总结

    根据上面的代码和现象我总结出的结论是:强制转化时无论如何小数点都会算是掉,Convert.ToInt32绝对值会进行四舍五入然后加上相应的符号。
  • 相关阅读:
    【HDOJ】2774 Shuffle
    【POJ】2170 Lattice Animals
    【POJ】1084 Square Destroyer
    【POJ】3523 The Morning after Halloween
    【POJ】3134 Power Calculus
    【Latex】如何在Latex中插入伪代码 —— clrscode3e
    【HDOJ】4801 Pocket Cube 的几种解法和优化
    【HDOJ】4080 Stammering Aliens
    【HDOJ】1800 Flying to the Mars
    SQL语法
  • 原文地址:https://www.cnblogs.com/vsdot/p/3263358.html
Copyright © 2011-2022 走看看