亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C# double類型變量比較分析

 更新時間:2020年12月09日 10:07:43   作者:川master  
這篇文章主要介紹了C# double類型變量比較分析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

double類型變量

怎么比較大小

通過使用double.equals(doubale a,double b)進(jìn)行比較時,發(fā)現(xiàn)兩個數(shù)值不是相等。

圖中sum為從0加0.1累計到1,按數(shù)學(xué)計算應(yīng)該為1.0,但是在計算機(jī)中計算為0.9999999999,通過double.equals或者直接用==進(jìn)行等量判斷時,發(fā)現(xiàn)不相同。

這說明double類型不能直接進(jìn)行等量判斷,那么怎么進(jìn)行比較呢?

類型轉(zhuǎn)換為decimal

將float模型轉(zhuǎn)換成decimal可以直接進(jìn)行判斷了.

可以看出兩個值都是1,這樣就可以直接進(jìn)行比較了。

綜上所述,在進(jìn)行數(shù)值比較時,如果使用double類型時,不能直接進(jìn)行等量判斷,需要通過兩值相減小于某個定義的值如0.0000001來判斷兩值相等或者轉(zhuǎn)換為其他類型進(jìn)行判斷。

補充知識:c#中Double類型的使用場景

【Double】

double類型在程序中定義變量會經(jīng)常使用,如果使用不當(dāng),會導(dǎo)致實際值精度問題出現(xiàn),例子如下:

 Double d1 = 66.09;
 Double d2 = 89.943;
 Double d3 = 156.033;
 d2 = d1 + d2; //兩個double 類型相加的結(jié)果是:156.03300000000002
 Console.WriteLine(d2.CompareTo(d3)); //導(dǎo)致最終的結(jié)果是d2的值大于d3的值,但是實際看到的值是相等的
 Console.ReadLine();

【解決方案】

使用Decimal類型定義后保證小數(shù)的精確度,兩個相同類型的decimal相加后可以確保程序不會自動添加進(jìn)度到結(jié)果值中,這樣就能夠避免出現(xiàn)以上情況發(fā)生

 Decimal d1 = 66.09M;
 Decimal d2 = 89.943M;
 Decimal d3 = 156.033M;
 d2 = d1 + d2;
 Console.WriteLine(d2.CompareTo(d3));
 Console.ReadLine();

以上這篇C# double類型變量比較分析就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解C#如何實現(xiàn)讀寫ini文件

    詳解C#如何實現(xiàn)讀寫ini文件

    .ini?文件是Initialization?File的縮寫,即初始化文件,是windows的系統(tǒng)配置文件所采用的存儲格式,統(tǒng)管windows的各項配置。本文將介紹C#讀寫ini文件的方法,需要的可以參考一下
    2022-01-01
  • 一看就懂:圖解C#中的值類型、引用類型、棧、堆、ref、out

    一看就懂:圖解C#中的值類型、引用類型、棧、堆、ref、out

    這篇文章主要介紹了一看就懂:圖解C#中的值類型、引用類型、棧、堆、ref、out,本文用淺顯易懂的語言組織介紹了這些容易混淆的概念,需要的朋友可以參考下
    2015-06-06
  • c# 隨機(jī)函數(shù)的使用詳解

    c# 隨機(jī)函數(shù)的使用詳解

    本篇文章是對c#隨機(jī)函數(shù)的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • C# Winform使用log4net進(jìn)行日志記錄

    C# Winform使用log4net進(jìn)行日志記錄

    Log4Net是從Java的log4j移植過來的,功能也與log4j類似,可以把日志信息輸出到文件、數(shù)據(jù)庫等不同的介質(zhì)或目標(biāo),下面我們就來學(xué)習(xí)一下如何使用log4net進(jìn)行日志記錄吧
    2023-11-11
  • Unity Shader實現(xiàn)3D翻頁效果

    Unity Shader實現(xiàn)3D翻頁效果

    這篇文章主要為大家詳細(xì)介紹了Unity Shader實現(xiàn)3D翻頁效果,Plane實現(xiàn)翻頁效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C#用Topshelf創(chuàng)建Windows服務(wù)的步驟分享

    C#用Topshelf創(chuàng)建Windows服務(wù)的步驟分享

    這篇文章主要給大家介紹了關(guān)于C#如何利用Topshelf創(chuàng)建Windows服務(wù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • C#開發(fā)教程之FTP上傳下載功能詳解

    C#開發(fā)教程之FTP上傳下載功能詳解

    這篇文章主要為大家詳細(xì)介紹了C#開發(fā)教程之FTP上傳下載功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • C#?守護(hù)進(jìn)程的介紹及實現(xiàn)詳解

    C#?守護(hù)進(jìn)程的介紹及實現(xiàn)詳解

    本文主要介紹了C#?守護(hù)進(jìn)程的介紹及實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • C#把UNICODE編碼轉(zhuǎn)換為GB編碼的實例

    C#把UNICODE編碼轉(zhuǎn)換為GB編碼的實例

    下面小編就為大家?guī)硪黄狢#把UNICODE編碼轉(zhuǎn)換為GB編碼的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • 淺析c# 線程同步

    淺析c# 線程同步

    這篇文章主要介紹了c# 線程同步的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)c#,感興趣的朋友可以了解下
    2020-08-08

最新評論