С учетом ввода строки преобразовать в целое число, разделить на 100.0 и использовать String.Format (), чтобы отобразить два десятичных знака.
String.Format("{0,0:N2}", Int32.Parse(input) / 100.0)
Умнее и без преобразования назад и вперед - добавьте строку с нулями как минимум к двум символам, а затем вставьте точку на два символа справа.
String paddedInput = input.PadLeft(2, '0')
padedInput.Insert(paddedInput.Length - 2, ".")
Пад на длину три, чтобы получить ведущий ноль. Пэд с точностью + 1 в расширении metheod для получения начального нуля.
И как метод расширения, просто для ударов.
public static class StringExtension
{
public static String InsertDecimal(this String @this, Int32 precision)
{
String padded = @this.PadLeft(precision, '0');
return padded.Insert(padded.Length - precision, ".");
}
}
// Usage
"3000".InsertDecimal(2);
Примечание: PadLeft () является правильным.
PadLeft() '3' => '03' => '.03'
PadRight() '3' => '30' => '.30'