یه سری تغییرات تو این تابع دادم که میزارمشون!
//convert a number in to money format.
public static string numberToMoney(string input, bool rightToLeft = true)
{
input = moneyToNumber(input);
double inp_int = Convert.ToDouble(input);
bool containDot = false;
if (inp_int < 0)
{
input = input.Remove(0, 1);
}
string[] s = { "", "" };
if (input.Contains('.'))
{
s = input.Split('.');
input = s[0];
containDot = true;
}
string outputT = "";
string output = "";
int j = 0;
for (int i = input.Length - 1; i >= 0; i--)
{
outputT += input[i];
if (j % 3 == 2 && j < input.Length - 1)
{
outputT += ",";
}
j++;
}
for (int i = outputT.Length - 1; i >= 0; i--)
{
output += outputT[i];
}
if (containDot)
output += "." + s[1];
if (inp_int < 0)
{
if (rightToLeft)
output = output.Insert(output.Length, "-");
else
output = output.Insert(0, "-");
}
return output;
}
//convert a money format to number
public static string moneyToNumber(string input)
{
if (input == "")
input = "0";
string output = "";
for (int i = 0; i < input.Length; i++)
{
if (input[i] != ',')
output += input[i];
if (input[i] == ' ')
break;
}
return output;
}