zoukankan      html  css  js  c++  java
  • c# float类型和double类型相乘出现精度丢失

    c# float类型和double类型相乘出现精度丢失

                double db = 4.0;
                double db2 = 1.3;
                float f = 1.3F;
                float f2 = 4.0F;
                Decimal de = Convert.ToDecimal(f);
                MessageBox.Show("double * float " + (db * f).ToString() + "
     double * double " + (db * db2).ToString());
                MessageBox.Show("double * (double)float " + (db * Convert.ToDouble(f)).ToString() + "
     float * float " + (f * f2).ToString()
                    + "
     (Decimal)double * (Decimal)float " + (Convert.ToDecimal(db) * Convert.ToDecimal(f)).ToString());
                //Convert.ToDecimal(db)转化成Decimal类型计算,Decimal 128位高精度浮点数,常用于金融运算,不会出现浮点数计算的误差

    本文解决办法参考http://www.cnblogs.com/quietwalk/archive/2010/05/02/1725885.html

  • 相关阅读:
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
  • 原文地址:https://www.cnblogs.com/tpfOfBlog/p/6479334.html
Copyright © 2011-2022 走看看