1.1程式如下
1.2.結果如下:
預期:1.2f與1.2是相等的,顯示後面的小數應該全是0。實際:1.2f實際是1.2000000476837158…..,並不是精確的1.2,而1.2f也與1.2不相等。原因:(1)float的有效數字只有8個,也就是1.2f輸出20個位時只能保證前8位(1.2000000)是精確地,後面12位都是不精確的。
(2)由於c語言預設小數是double型別的,所以1.2是double型別的資料,當然與1.2f這個float型別的資料不相等。
程式如下:
2.2結果如下:
預期:1.3+04應該是等於1.7的。
實際:乙個double型的1.3加乙個double
型的0.4結果不等於1.7。
原因:計算機裡的浮點數沒有筆算那麼精確,它的1.0
也許是0.9999999993
或者是1.00000000004
,不能夠做精確的相等判斷,所以不能寫
1.4+0.3==1.7
,1.4+0.3
的結果除非在取有效數字的時候正好近似成
1.7,否則就不會等於
1.7了,應該相對自己所關注的有效數字,允許多幾位有效數字的偏差,譬如這個程式中,當
1.4+0.3
和1.7
相差在0.00001
以內時可以認為他們相等。具體的允許偏差的位數應該視情況而定。
SQL 預設值和規則
建立規則 下面來演示以下兩種完整性約束的操作 由於sql server2008取消了以下兩項操作的圖形介面操作,我們只能用命令建立,配合圖形介面來觀察結果了。先建立了乙個20歲的年齡的預設值,在我們新增學生不輸入學生年齡的時候,系統自動新增預設值。可以看到系統自動新增年齡20 我們現在再來看下面的問...
prop 驗證,和預設值
prop 驗證,和預設值 所有的 prop 都使得其父子 prop 之間形成了乙個單向下行繫結 父級prop 的更新會向下流動到子元件中,但是反過來則不行。這樣會防止從子元件意外改變父級元件的狀態,從而導致你的應用的資料流向難以理解。額外的,每次父級元件發生更新時,子元件中所有的 prop 都將會重...
int和Integer的預設值
群裡有乙個小夥伴發了一段和下面差不多的 啊,問了乙個問題,如下 public static void main string args public integer name 這段 毫無疑問,打出來的是null 群友問,為什麼name中的return不報錯啊,null不是string的預設值嘛然而我...