在C#中,用於貨幣的最佳資料型別是什麼?
在C#中,用於貨幣的最佳資料型別是decimal。decimal型別是一個128位資料型別,適用於財務和貨幣計算。decimal型別可以表示從1.0 * 10^-28到大約7.9 * 10^28的數值,具有28-29位有效數字。要初始化一個decimal變數,請使用字尾m或M。
decimal b = 2.1m;
下面的例子顯示了decimal型別的最小值和最大值。
示例
using System;
namespace DemoApplication{
public class Program{
public static void Main(){
Console.WriteLine($"Deciaml Min Value: {decimal.MinValue}");
Console.WriteLine($"Deciaml Max Value: {decimal.MaxValue}");
Console.ReadLine();
}
}
}輸出
Deciaml Min Value: -79228162514264337593543950335Deciaml Max Value: 79228162514264337593543950335
decimal型別的有限值集的形式為(-1)^s * c * 10^-e,其中符號s為0或1,係數c由0 <= *c* < 2^96給出,比例e滿足0 <= e <= 28。decimal型別不支援帶符號的零、無窮大或NaN。decimal表示為一個96位整數,乘以10的冪。對於絕對值小於1.0m的十進位制數,其值精確到小數點後第28位,但不會更精確。
對於絕對值大於或等於1.0m的十進位制數,其值精確到28或29位。與float和double資料型別相反,十進位制小數(例如0.1)可以在十進位制表示中精確表示。在float和double表示中,這樣的數字通常是無限小數,這使得這些表示更容易出現舍入誤差。
decimal型別優於float和double,因為它具有更高的精度,並且範圍小於float和double。
示例
讓我們考慮一個將美元轉換為印度盧比的例子。
using System;
namespace DemoApplication{
public class Program{
public static void Main(){
decimal usd = 2.5m;
Console.WriteLine($"USD: {usd}");
decimal inrOfOneUSD = 75.04m;
Console.WriteLine($"INR value of one USD: {inrOfOneUSD}");
decimal inr = usd * inrOfOneUSD;
Console.WriteLine($"INR value: {inr}");
Console.ReadLine();
}
}
}輸出
上述程式碼的輸出是
USD: 2.5 INR value of one USD: 75.04 INR value: 187.600
廣告
資料結構
網路
關係型資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP