C# में Decimal.Truncate() मेथड निर्दिष्ट Decimal के पूर्णांक अंक लौटाता है। कोई भी भिन्नात्मक अंक छोड़ दिए जाते हैं (गोल नहीं किए जाते, बस काट दिए जाते हैं)।
सिंटैक्स
public static decimal Truncate (decimal val);
पैरामीटर val वह दशमलव संख्या है जिसे काटना है।
उदाहरण 1: बुनियादी उपयोग
using System;
public class Demo
{
public static void Main()
{
Decimal val = 6576.876m;
Console.WriteLine("Decimal value = " + val);
ulong res = Decimal.ToUInt64(val);
Console.WriteLine("64-bit unsigned integer = " + res);
Decimal val2 = Decimal.Truncate(val);
Console.WriteLine("Integral digits of the decimal = " + val2);
}
}
आउटपुट
Decimal value = 6576.876 64-bit unsigned integer = 6576 Integral digits of the decimal = 6576
उदाहरण 2: एक अन्य मान
using System;
public class Demo
{
public static void Main()
{
Decimal val = 28676.935m;
Console.WriteLine("Decimal value = " + val);
Decimal val2 = Decimal.Truncate(val);
Console.WriteLine("Integral digits of the decimal = " + val2);
}
}
आउटपुट
Decimal value = 28676.935 Integral digits of the decimal = 28676
Truncate() बनाम अन्य गोलाई मेथड्स
| मेथड | 2.9 | 2.1 | -2.9 | -2.1 | व्यवहार |
|---|---|---|---|---|---|
| Truncate() | 2 | 2 | -2 | -2 | शून्य की ओर (भिन्नात्मक भाग हटाता है) |
| Floor() | 2 | 2 | -3 | -3 | ऋणात्मक अनंत की ओर |
| Ceiling() | 3 | 3 | -2 | -2 | धनात्मक अनंत की ओर |
| Round() | 3 | 2 | -3 | -2 | निकटतम (बैंकर्स राउंडिंग) |
उदाहरण: नकारात्मक संख्याओं के साथ
using System;
public class Demo
{
public static void Main()
{
decimal[] values = { 123.456m, -123.456m, 0.999m, -0.999m };
foreach (var v in values)
{
Console.WriteLine($"{v,10} → Truncate: {Decimal.Truncate(v),10} | Floor: {Decimal.Floor(v),10} | Ceiling: {Decimal.Ceiling(v),10}");
}
}
}
आउटपुट
123.456 → Truncate: 123 | Floor: 123 | Ceiling: 124
-123.456 → Truncate: -123 | Floor: -124 | Ceiling: -123
0.999 → Truncate: 0 | Floor: 0 | Ceiling: 1
-0.999 → Truncate: 0 | Floor: -1 | Ceiling: 0
मुख्य बिंदु
- शून्य की ओर गोलाई - नकारात्मक संख्याओं के लिए "बड़ा" बनाता है
- वापसी प्रकार decimal है (int/long नहीं)
- कोई अपवाद नहीं फेंकता (ओवरफ्लो संभव नहीं क्योंकि परिणाम इनपुट से छोटा होता है)
- वित्तीय गणनाओं में "सेंट" हटाने के लिए उपयोगी
- Math.Truncate() भी उपलब्ध है (double/decimal ओवरलोड्स के साथ)