C# 에서 사용할 수 있는 확장 메서드(extension method)로, Truncate 라고 명칭을 만들었습니다.
아래 확장메서드는 double 타입의 값을 주어진 소수 자릿수(precision)로 절삭하여 반환합니다.
using System;
using System.Globalization;
using System.Security.Cryptography;
using System.Text.RegularExpressions;
namespace Codout.Framework.Common.Extensions
{
/// <summary>
/// Extensões comuns para tipos relacionadas a números.
/// </summary>
public static class Numeric
{
public static double Truncate(this double value, int precision)
{
var step = Math.Pow(10, precision);
var tmp = Math.Truncate(step * value);
return tmp / step;
}
}
}
//사용법
double value = 3.14859265359;
double result = value.Truncate(2);
Console.WriteLine(result); // 출력 결과: 3.14
C# 에서는 Math.Round 함수를 제공하지만, 이는 절삭기능이 없고 반올림 해서 결과값을 제공합니다.
Math.Round 함수는 첫 번째 인수로 반올림할 값, 두 번째 인수로 반올림할 소수 자릿수를 받습니다.
이를 통해 소수 자릿수를 조절할 수 있습니다.
double value = 3.14859265359;
double result = Math.Round(value, 2);
Console.WriteLine(result); // 출력 결과: 3.15
참고 사이트
https://github.com/shimpark/Codout.Framework/blob/master/Codout.Framework.Common/Extensions/Strings.cs