1、--------------------------------------------------------------------------------------------
txb3.Text = Convert.ToString(Convert.ToDouble(txb1.Text) - Convert.ToDouble(txb2.Text));
// txb1.Text 中输入 1.08;txb2.Text 中输入 1;结果等于 0.08000000000000012、--------------------------------------------------------------------------------------------
txb.Text = Convert.ToString(1.08 - 1);
// 结果还是等于 0.0800000000000001----------------------------------------------------------------------------------------------难道 Double 型 的 精度 连小数点后两位 都计算不准确吗?我不想 乘以1000,取整,再除以1000,请问大家是怎么解决的?

解决方案 »

  1.   

    那你说应该等于什么?楼主不懂什么是double,鉴定完毕去看MSDN吧
      

  2.   

    使用
    txb.Text = Convert.ToString(1.08 - 1).ToString("0.00");
      

  3.   


    1 应该等于 0.9 9的循环,但不应该有穷尽啊,如果有,这就不是恒等了。
    C语言里面 Double 只有32位,也从没见过这么简单的运算都出错啊。
    请问 windows 自带的计算器是怎样正确运算的?