亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請教各位大俠,關于C#中double數值問題!?。?/h1>

最近在看《C#本質論》,上面講輸出1.618033988749895就會1.61803398874989,最后一位會丟失。然后又Ronud-Trip格式化,講了一個例子,代碼如下:const double num = 1.618033988749895;            double re;            string te;            te = string.Format("{0}", num);            re = double.Parse(te);            System.Console.WriteLine("{0}: re != num", re != num);                        te = string.Format("{0:R}", num);            re = double.Parse(te);            System.Console.WriteLine("{0}: re = num",re == num);運行結果:True:re !=num               True: re== num我就有疑問了,num被賦值后,輸出時會丟失一位,即丟失5,那,num的值在存入計算機中時,是按15位的存的還是16位存的,也就是最后一位5有沒有被存入?假如存入了5,那么是不是在一般情況下使用num的值時不包括5啊,比如輸出num值時輸出的數不包括5。使用“{0:R}”時,會與原來數值相比較,原來的數是指存入的數還是還是代碼中的數???
查看完整描述

2 回答

?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

存進去了,只是讀的時候沒讀出來

查看完整回答
反對 回復 2018-09-19
  • 2 回答
  • 0 關注
  • 796 瀏覽

添加回答

了解更多

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號