You haven't clarified in the comments yet, but I suspect you want something like this?
3.14 -> 3
5.34543543 -> 5
If that is correct then you simply need to cast your decimal
to an int
which would strip the precision off and give you just the whole number.
string someString = ((int)someDecimal).ToString();
If you find yourself repeating this logic often you can make a simple extension method to keep it DRY:
public static class DecimalExtensions
{
public static string ToIntString(this decimal input)
{
return ((int)input).ToString();
}
}
And simply call it like so:
string someString = someDecimal.ToIntString();
Simple fiddle here
EDIT
@HansPassant actually gave the simplest solution in the comments and I feel silly for not remembering:
string someString = someDecimal.ToString("F0", System.Globalization.CultureInfo.InvariantCulture);
This is a much better answer and if Hans posts an answer I suggest marking theirs as the solution.