代码
double test;
test=1.01234567890123456789;
System::String::Format("test={0:N20};",test);
输出是
test=1.01234567890123000000;
而我想要的是
test=1.01234567890123456789;丢了的那6位精度怎么处理呢?double

解决方案 »

  1.   

    2^64 才 18446744073709551616
    刚刚够 20位,还有1-2字节(具体多少忘记了,自己翻翻书)作指数位试试decimal
      

  2.   

    double类型:64位浮点数,取值范围在5.0×10-324 ~ 1.7×10308之间,精度为15~16 位数。
    decimal类型:128位,它所表示的范围从大约1.0 ×10-28 到7.9 ×1028,具有28至29位有效数字。特别适用于金融、货币等领域。