C#DECIMAL結構取整方法總結
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//Floor向負無窮方向舍入為最接近的整數
Console.WriteLine(decimal .Floor(-1.3m)); //-2
Console.WriteLine(decimal .Floor (3.5m)); //3
Console.WriteLine(decimal .Floor (4m)); //4
//Truncate向零方向舍入為整數
Console.WriteLine(decimal.Truncate(-1.3m));//-1
Console.WriteLine(decimal.Truncate (3.5m));//3
Console.WriteLine(decimal.Truncate (4m)); //4
//如果想實現四舍五入,則必須用下面的技巧,保留到小數點后2位,就用100,保留到小數點后3位就用1000,依次類推
decimal a = 8.335m,b=8.345m;
Console.WriteLine(decimal .Truncate (a*100+0.5m)/100); //8.34
Console.WriteLine (decimal .Truncate (b*100+0.5m)/100); //8.35
//總結,System.Double(double)和System.Single(float)結構都沒有這2種方法,所以一般用decimal來實現取整
}
}
}
