C# - 30 строк, включая объявление метода и {} s:
Принимает во внимание все ранее вышеупомянутые запятые, ands и дефисы. Я только включал до октильона потому что десятичное число. MaxValue находится только в октильонах. Для больших целых чисел необходимо было бы добавить соответствующие объекты к Вам [] массив и возможно передать число в как строка, изменив строку для извлечения блока при помощи последних 3 символов вместо того, чтобы использовать по модулю, как я имею здесь.
static string wordify(decimal v)
{
if (v == 0) return "zero";
var units = " one two three four five six seven eight nine".Split();
var teens = " eleven twelve thir# four# fif# six# seven# eigh# nine#".Replace("#", "teen").Split();
var tens = " ten twenty thirty forty fifty sixty seventy eighty ninety".Split();
var thou = " thousand m# b# tr# quadr# quint# sext# sept# oct#".Replace("#", "illion").Split();
var g = (v < 0) ? "minus " : "";
var w = "";
var p = 0;
v = Math.Abs(v);
while (v > 0)
{
int b = (int)(v % 1000);
if (b > 0)
{
var h = (b / 100);
var t = (b - h * 100) / 10;
var u = (b - h * 100 - t * 10);
var s = ((h > 0) ? units[h] + " hundred" + ((t > 0 | u > 0) ? " and " : "") : "")
+ ((t > 0) ? (t == 1 && u > 0) ? teens[u] : tens[t] + ((u > 0) ? "-" : "") : "")
+ ((t != 1) ? units[u] : "");
s = (((v > 1000) && (h == 0) && (p == 0)) ? " and " : (v > 1000) ? ", " : "") + s;
w = s + " " + thou[p] + w;
}
v = v / 1000;
p++;
}
return g + w;
}
Названный использованием:
static void Main(string[] args)
{
Console.WriteLine(wordify(decimal.MaxValue));
}
Вывод:
семьдесят девять октильонов, двести двадцать восемь септильонов, сто шестьдесят два секстильона, пятьсот четырнадцать квинтильонов, двести шестьдесят четыре квадрильона, триста тридцать семь триллионов, пятьсот девяносто три миллиарда, пятьсот сорок три миллиона, девятьсот пятьдесят тысяч, триста тридцать пять
Я думаю, что многие разработчики привыкли к сторонним инструментам например, ReSharper, который вы не сможете получить для MonoDevelop.
Количество пользователей MonoDevelop значительно меньше пользователей Visual Studio, поэтому в Интернете гораздо меньше справки, например сообщений в блогах.
Когда я говорю «редактор C #» в этом посте, я имею в виду текстовый редактор Visual Studio C #. Извините, это просто привычка печатать. : o
Я предполагаю, что текстовый редактор Visual Studio C # лучше, чем в MonoDevelop. Причина, по которой я говорю это, заключается в том, что я работал над проектом в прошлом, и уточнить детали невероятно сложно. Вот некоторые элементы, которые редактор Visual Studio C # делает исключительно , и их труднее всего воспроизвести:
Похоже, вы никогда раньше не видели моноразработку. Да, это хороший и очень важный софт. Но на данный момент это просто несравнимо с VS. VS - более стабильная, богатая и надежная программная система. Вчера я скомпилировал один очень важный проект в monodevelop, и он просто рухнул ...
Но у него есть дизайн ASP.NET и плагин ASP.NET MVC. может быть вам подойдет