C#常見金額優選類型及其三種常用的取整方式

來源:互聯網
上載者:User

標籤:正式   使用   font   向上取整   並且   資料   簡單   錯誤   偏差   

原文:C#常見金額優選類型及其三種常用的取整方式

這兩天一直在做一個商城背景對賬方面的工作,忽然發現C#真的有很多值的學習的東西:

一、C#常用的三種取整方式(主要適用於double、decimal、float這一類型的資料):

Math.Round():為四捨六入五取整Math.ceilling():為向上取整(只要有小數存在都會加1)Math.Floor():向下取整,有小數都會捨去

二、Decimal、double、float資料類型介紹:

前言:之前在做金額計算的時候發現很多小數問題總是與實際金額有所偏差,還好是項目測試階段要是等項目正式上線了,數量一大的話那就不可估量的損失呀,別看一單只有那麼的幾分錢但是多了的話那可不可估量的損失,之前一直是使用double進行計算而後來及時發現了bug改成了使用decimal進行金額數量之間的計算。

1、Decimal資料類型:

  儲存有符號表示 96 位 (12 個位元組) 整數變數 10 的冪縮放的數位 128 位 (16 個位元組) 值。 縮放因子指定數位小數點; 右側數它的範圍介於 0 到 28。 小數位元為 0 (沒有小數位),最大可能值為 + 79228162514264337593543950335 / (+ /-7.9228162514264337593543950335E + 28)。 帶 28 個小數的最大值是 + /-7.9228162514264337593543950335,和的最小的非零值為 + /-0.0000000000000000000000000001 (+ /-1E-28)。

  Decimal資料類型提供大量的最大有效位元數。 它支援最多 29 個有效位,並且可表示值超出 7.9228 x 10 ^28。 它是特別適合於計算,如財務、,需要大量的數字,但不能容忍舍入誤差。Decimal 的預設值為 0。初始化方式:decimal myMoney = 300.5m;

 

2、Double資料類型(雙精準浮點型):

  保留帶符號的 IEEE 64 位元 (8 位元組) 雙精確度浮點數,從-1.79769313486231570 e + 308 到-的值的範圍 4.94065645841246544 e-324 負值和 4.94065645841246544 e-324 1.79769313486231570 e + 308 到正值。 雙精確度數字儲存實際數目的近似值。

Double資料類型提供了大量的最大和最小可能大量度。

Double 的預設值為 0。初始化方式:double d=0.3D;

 

3、Float資料類型(單精準浮點型):

float 關鍵字表示儲存 32 位浮點值的簡單類型。 下表顯示了 float 類型的精度和大致範圍。

預設情況下,賦值運算子右側的實數被視為 double。 因此,若要初始化浮點型變數,請使用尾碼 f 或 F,如以下樣本中所示:float x = 3.5F;

如果不在前面的聲明中使用尾碼,則會收到編譯錯誤,因為你正嘗試將 double 值儲存到 float 變數。

微軟字元類型詳解:https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/decimal

從小事做起,從點滴做起!

 

C#常見金額優選類型及其三種常用的取整方式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.