str_money1="4053585.57"
float y3 = float.Parse(str_money1)为什么转换成float之后y3=4053585.50,如何设置float的精度呢,我想转换后得到的值还是4053585.57

解决方案 »

  1.   

    decimal d2 = decimal.Parse(str_money1);
      

  2.   

    不能改变float类型的情况,实现精度不变,小数点保留两位.
      

  3.   


    :)
    如果float可以通吃的话,为什么我们还需要用double?为什么还要decimal?为什么要BitInteger?
      

  4.   

    但是现在没办法换成其它类型.data3[i] = new PointF(i * 5, y3) 中PointF的参数只能接收float类型
      

  5.   

       string str_money1="4053585.57";
                        double y3 = Convert.ToDouble(str_money1);
      

  6.   

    万一y3传过来的值超过了float的范围呢?
      

  7.   

    找到原因了,的确是因为传进来的值超出了float的范围,我把传进来的值除了一万,小数点就能正常显示了.谢谢各位.