Truncates the specified double.
namespace Deppton.Mobile.Gps
{
using System;
public static class Utils
{
/// <summary>
/// Truncates the specified double.
/// </summary>
/// <param name="value">The double to truncate.</param>
/// <returns>The truncated double.</returns>
public static double Truncate(this double value)
{
if (value >= 0)
{
return Math.Floor(value);
}
else
{
return Math.Ceiling(value);
}
}
public static IntPtr LocalAlloc(int byteCount)
{
IntPtr ptr = Win32.LocalAlloc(Win32.LMEM_ZEROINIT, byteCount);
if (ptr == IntPtr.Zero)
{
throw new OutOfMemoryException();
}
return ptr;
}
public static void LocalFree(IntPtr hMem)
{
IntPtr ptr = Win32.LocalFree(hMem);
if (ptr != IntPtr.Zero)
{
throw new ArgumentException();
}
}
}
public class Win32
{
public const int LMEM_ZEROINIT = 0x40;
[System.Runtime.InteropServices.DllImport("coredll.dll", EntryPoint = "#33", SetLastError = true)]
public static extern IntPtr LocalAlloc(int flags, int byteCount);
[System.Runtime.InteropServices.DllImport("coredll.dll", EntryPoint = "#36", SetLastError = true)]
public static extern IntPtr LocalFree(IntPtr hMem);
}
}
Related examples in the same category
1. | Compute the area of a circle | | |
2. | the differences
between int and double | | |
3. | Implement the Pythagorean Theorem | | |
4. | Talking to Mars: double value calculation | | |
5. | converts Fahrenheit to Celsius | | |
6. | Epsilon, PositiveInfinity, NegativeInfinity, MaxValue, MinValue | | |
7. | double number format: 0:C, 0:D9, 0:E, 0:F3, 0:N, 0:X, 0:x | | |
8. | Format double value | | |
9. | Get Decimal Places | | |
10. | Automatic conversion from double to string | | |
11. | An int, a short, a float, and a double are added together giving a double result. | | |
12. | Test to see if a double is a finite number (is not NaN or Infinity). | | |
13. | Double.Epsilon Field represents the smallest positive Double value that is greater than zero. | | |
14. | Availible Double Range | | |
15. | Is Nearly Equal | | |
16. | Shifts the given value into the range | | |