What is the best way to return the whole number part of a decimal (in c#)? (This has to work for very large numbers that may not fit into an int).

```
GetIntPart(343564564.4342) >> 343564564
GetIntPart(-323489.32) >> -323489
GetIntPart(324) >> 324
```

The purpose of this is: I am inserting into a decimal (30,4) field in the db, and want to ensure that I do not try to insert a number than is too long for the field. Determining the length of the whole number part of the decimal is part of this operation.

By the way guys, (int)Decimal.MaxValue will overflow. You can't get the "int" part of a decimal because the decimal is too friggen big to put in the int box. Just checked... its even too big for a long (Int64).

If you want the bit of a Decimal value to the LEFT of the dot, you need to do this:

```
Math.Truncate(number)
```

and return the value as... A DECIMAL or a DOUBLE.

*edit: Truncate is definitely the correct function!*

Licensed under: CC-BY-SA with attribution

Not affiliated with: Stack Overflow