Decimal Round() in C#
public static string roundNum(double num, int place)
{
string formatNum = num.ToString(System.Globalization.CultureInfo.InvariantCulture);
if (formatNum.Contains("."))
{
string[] strSeparator = new string[] { "." };
string[] strFormatNum = formatNum.Split(strSeparator, StringSplitOptions.None);
string decimalPlaces = string.Empty;
if (strFormatNum.Length > 0)
{
int i = 0;
foreach (char c in strFormatNum[1])
{
if (i == 2)
{
break;
}
decimalPlaces += c;
i += 1;
}
if (decimalPlaces == string.Empty)
{
decimalPlaces = "00";
}
else if (decimalPlaces.Length == 1)
{
decimalPlaces += "0";
}
formatNum = strFormatNum[0] + "." + decimalPlaces;
}
//num = Convert.ToDouble(Convert.ToDecimal(formatNum));
}
formatNum = Convert.ToString(Convert.ToDouble(formatNum, System.Globalization.CultureInfo.InvariantCulture));
return formatNum == "Infinity" ? "0" : formatNum;
}
{
string formatNum = num.ToString(System.Globalization.CultureInfo.InvariantCulture);
if (formatNum.Contains("."))
{
string[] strSeparator = new string[] { "." };
string[] strFormatNum = formatNum.Split(strSeparator, StringSplitOptions.None);
string decimalPlaces = string.Empty;
if (strFormatNum.Length > 0)
{
int i = 0;
foreach (char c in strFormatNum[1])
{
if (i == 2)
{
break;
}
decimalPlaces += c;
i += 1;
}
if (decimalPlaces == string.Empty)
{
decimalPlaces = "00";
}
else if (decimalPlaces.Length == 1)
{
decimalPlaces += "0";
}
formatNum = strFormatNum[0] + "." + decimalPlaces;
}
//num = Convert.ToDouble(Convert.ToDecimal(formatNum));
}
formatNum = Convert.ToString(Convert.ToDouble(formatNum, System.Globalization.CultureInfo.InvariantCulture));
return formatNum == "Infinity" ? "0" : formatNum;
}
Comments
Post a Comment