decimal num = 93456;
StringBuilder sb = new StringBuilder(num.ToString());
if (sb.Length > 2)
sb.Insert(2, Thread.CurrentThread.CurrentCulture
.NumberFormat.CurrencyDecimalSeparator);
Console.WriteLine(sb);
num = decimal.Parse(sb.ToString());
Console.WriteLine(num);
Update
we don't have alot of string manipulation,so don't need using StringBuilder.
also according the question we should use NumberDecimalSeparator
instead of CurrencyDecimalSeparator
decimal num = 93456;
string str = num.ToString();
if (str .Length > 2)
str .Insert(2, Thread.CurrentThread.CurrentCulture
.NumberFormat.NumberDecimalSeparator);
Console.WriteLine(str);
num = decimal.Parse(str);
Console.WriteLine(num);