| Description |
The Truncate function rounds a decimal number Value to a whole value (integer) by removing the fractional part.
Therefore negative numbers become larger in absolute value, and positive numbers become smaller.
The optional DecPlaces parameter defines this precision, up to a maximum of 28 decimal places.
The rounding uses Bankers rules, where an exact half value causes a rounding to an even number:
| 12.4 rounds to | 12 |
| 12.5 rounds to | 12 // Round down to even |
| 12.6 rounds to | 13 |
| | |
| 13.4 rounds to | 13 |
| 13.5 rounds to | 14 // Round up to even |
| 13.6 rounds to | 14 |
|
| | Notes | Compare with Floor and Round.
Static methods are not methods of an object - they are simply class functions or procedures available at any time.
|
|
| Microsoft MSDN Links |
System
System.Decimal
|
|
|
| A simple example |
// Full Unit code. // ------------------------------------------------------------- // Create a new WinForm application, double click the form to // create an OnLoad event, and then replace the WinForm unit // with this text. unit WinForm; interface uses System.Drawing, System.Collections, System.ComponentModel, System.Windows.Forms, System.Data; type TWinForm = class(System.Windows.Forms.Form) \{REGION 'Designer Managed Code'\} // Note that REGION and ENREGION should be prefixed by a dollar sign strict private /// /// Required designer variable. /// Components: System.ComponentModel.Container; /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// procedure InitializeComponent; procedure TWinForm_Load(sender: System.Object; e: System.EventArgs); {ENDREGION} strict protected /// /// Clean up any resources being used. /// procedure Dispose(Disposing: Boolean); override; private { Private Declarations } public constructor Create; end; [assembly: RuntimeRequiredAttribute(TypeOf(TWinForm))] implementation \{REGION 'Windows Form Designer generated code'\} /// /// Required method for Designer support -- do not modify /// the contents of this method with the code editor. /// procedure TWinForm.InitializeComponent; begin // // TWinForm // Self.AutoScaleBaseSize := System.Drawing.Size.Create(5, 13); Self.ClientSize := System.Drawing.Size.Create(292, 266); Self.Name := 'TWinForm'; Self.Text := 'WinForm'; Include(Self.Load, Self.TWinForm_Load); end; {ENDREGION} procedure TWinForm.Dispose(Disposing: Boolean); begin if Disposing then begin if Components <> nil then Components.Dispose(); end; inherited Dispose(Disposing); end; constructor TWinForm.Create; begin inherited Create; // // Required for Windows Form Designer support // InitializeComponent; // // TODO: Add any constructor code after InitializeComponent call // end; procedure TWinForm.TWinForm_Load(sender: System.Object; e: System.EventArgs); program Project1;
{$APPTYPE CONSOLE}
var
valueA, valueB : Decimal;
result : Decimal;
begin
valueA := 1.2;
valueB := -1.2;
Console.WriteLine('valueA = {0}', valueA.ToString);
Console.WriteLine('valueB = {0}', valueB.ToString);
Console.WriteLine;
result := System.Decimal.Truncate(valueA);
Console.WriteLine('valueA truncate = ' + result.ToString);
result := System.Decimal.Truncate(valueB);
Console.WriteLine('valueB truncate = ' + result.ToString);
Console.ReadLine;
end. end. | | Hide full unit code | valueA = 1.2
valueB = -1.2
valueA truncate = 1
valueB truncate = -1
|
| |
|
|
|