double保持精度,防止小數點后數字的丟失的小方法


一般情況下,輸入帶小數點的字面值,編譯器會把它解析成double 類型。

例如:一個字面值被直接放到代碼中,由於帶小數點所以,默認值為double類型

 
輸出結果是:1.12345678912345(最后一個數字丟失了)這是因為double值精度就這么長啊
有什么辦法可以使輸出的結果具有完整的精度呢??
我們可以將字面值顯示聲明為decimal類型,通過追加一個M或m后綴來實現
 
 
嘻嘻,還有另外一種辦法可以防止最后一位數字被丟棄哦,可以使用格式字符串和round-trip 格式說明符R或r進行轉換。
例如:string.Format("{0:R}", 1.123456789123477) ,輸出的結果:1.123456789123477,最后一個數字還在哦
 
round-trip格式說明符返回的字符串轉換回數值肯定能獲得原始值了,如果沒有使用round-trip格式,那輸入與輸出的值肯定不一樣了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM