本文目的是使讀者掌握decimal數據類型的定義、賦值和初始化的方法。
C#中的decimal數據類型的數值后必須有后綴“M”或“m”,否則編譯時將給出如下的錯誤信息:
錯誤 不能隱式地將 Double 類型轉換為“decimal”類型;請使用“M”后綴創建此類型
造成這個問題的原因主要是,在C#中,小數默認以雙精度類型(double)進行存儲的,而默認情況下,double無法完成到decimal類型的轉換,需要指定后綴來完成。
同時,通過本案例可以進一步學習輸出格式控制的方法。
源代碼如下:
using System;
namespace DecimalType
{
class Program
{
static void Main(string[] args)
{
//decimal數據類型在賦值或初始化時,
//其值后必須有后綴“M”或“m”
decimal dc1 = 22.3m;
decimal dc2 = 32.4565M;
decimal dc3;
dc3 = 235.2335m;
//下面初始化的值格式有誤
//decimal dc4 = 43.343;
Console.WriteLine("dc1={0:N2}", dc1);
Console.WriteLine("dc2={0:N2}", dc2);
Console.WriteLine("dc3={0:N3}", dc3);
}
}
}
運行結果如下:
dc1=22.30
dc2=32.46
dc3=235.234
新聞熱點
疑難解答