C#中decimal,double和float的區別


float 單精度浮點 32bit,
double 雙精度浮點64bit,
decimal是高精度 128bit,浮點型。
float double 是 基本類型(primitive type),decimal不是。
float 有效數字7位,范圍 ±1.5 × 10E−45 to ±3.4 × 10E38
double 有效數字15/16 位,范圍 ±5.0 × 10 E−324 to ±1.7 × 10E308
decimal 有效數字 28/29 位,范圍 ±1.0 × 10E−28 to ±7.9 × 10E28
( E -- 下接幾次方)

decimal的有效位數很大,達到了28位,但是表示的數據范圍卻比float和double類型小。
使用的時候會對計算時的性能有影響。
常數寫法:
float f = 12.3F; (帶F)
double x=12.3; (不帶就是double)
decimal d = 12.30M; (帶M)

浮點數運算會有精度損失問題,有精度損失時程序不會報告,要程序員自己注意。


免責聲明!

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



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