Показать сообщение отдельно
  #9 (permalink)  
Старый 19.05.2011, 21:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Число прописью
Вариант прописью до секстиллиона ...
<script type="text/javascript">
function parseNumber(c) {
    function k(b, c) {
        var d = c[0],
            e = c[1],
            f = c[2];
        return b % 10 == 1 && b % 100 != 11 ? d : b % 10 >= 2 && b % 10 <= 4 && (b % 100 < 10 || b % 100 >= 20) ? e : f
    }
    for (var d = {
        0: {
            1: "\u043e\u0434\u0438\u043d",
            2: "\u0434\u0432\u0430",
            3: "\u0442\u0440\u0438",
            4: "\u0447\u0435\u0442\u044b\u0440\u0435",
            5: "\u043f\u044f\u0442\u044c",
            6: "\u0448\u0435\u0441\u0442\u044c",
            7: "\u0441\u0435\u043c\u044c",
            8: "\u0432\u043e\u0441\u0435\u043c\u044c",
            9: "\u0434\u0435\u0432\u044f\u0442\u044c",
            10: "\u0434\u0435\u0441\u044f\u0442\u044c",
            11: "\u043e\u0434\u0438\u043d\u043d\u0430\u0434\u0446\u0430\u0442\u044c",
            12: "\u0434\u0432\u0435\u043d\u0430\u0434\u0446\u0430\u0442\u044c",
            13: "\u0442\u0440\u0438\u043d\u0430\u0434\u0446\u0430\u0442\u044c",
            14: "\u0447\u0435\u0442\u044b\u0440\u043d\u0430\u0434\u0446\u0430\u0442\u044c",
            15: "\u043f\u044f\u0442\u043d\u0430\u0446\u0430\u0442\u044c",
            16: "\u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u044c",
            17: "\u0441\u0435\u043c\u043d\u0430\u0434\u0446\u0430\u0442\u044c",
            18: "\u0432\u043e\u0441\u0435\u043c\u043d\u0430\u0434\u0446\u0430\u0442\u044c",
            19: "\u0434\u0435\u0432\u044f\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u044c",
            20: "\u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044c",
            30: "\u0442\u0440\u0438\u0434\u0446\u0430\u0442\u044c",
            40: "\u0441\u043e\u0440\u043e\u043a",
            50: "\u043f\u044f\u0442\u044c\u0434\u0435\u0441\u044f\u0442",
            60: "\u0448\u0435\u0441\u0442\u044c\u0434\u0435\u0441\u044f\u0442",
            70: "\u0441\u0435\u043c\u044c\u0434\u0435\u0441\u044f\u0442",
            80: "\u0432\u043e\u0441\u0435\u043c\u044c\u0434\u0435\u0441\u044f\u0442",
            90: "\u0434\u0435\u0432\u044f\u043d\u043e\u0441\u0442\u043e",
            100: "\u0441\u0442\u043e",
            200: "\u0434\u0432\u0435\u0441\u0442\u0438",
            300: "\u0442\u0440\u0438\u0441\u0442\u0430",
            400: "\u0447\u0435\u0442\u044b\u0440\u0435\u0441\u0442\u0430",
            500: "\u043f\u044f\u0442\u044c\u0441\u043e\u0442",
            600: "\u0448\u0435\u0441\u0442\u044c\u0441\u043e\u0442",
            700: "\u0441\u0435\u043c\u044c\u0441\u043e\u0442",
            800: "\u0432\u043e\u0441\u0435\u043c\u044c\u0441\u043e\u0442",
            900: "\u0434\u0435\u0432\u044f\u0442\u044c\u0441\u043e\u0442"
        },
        1: {
            1: "\u043e\u0434\u043d\u0430",
            2: "\u0434\u0432\u0435"
        }
    }, i = {
        0: ["", "", ""],
        1: ["\u0442\u044b\u0441\u044f\u0447\u0430", "\u0442\u044b\u0441\u044f\u0447\u0438", "\u0442\u044b\u0441\u044f\u0447"],
        2: ["\u043c\u0438\u043b\u043b\u0438\u043e\u043d", "\u043c\u0438\u043b\u043b\u0438\u043e\u043d\u0430", "\u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432"],
        3: ["\u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434", "\u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u0430", "\u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u043e\u0432"],
        4: ["\u0442\u0440\u0438\u043b\u043b\u0438\u043e\u043d", "\u0442\u0440\u0438\u043b\u043b\u0438\u043e\u043d\u0430", "\u0442\u0440\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432"],
        5: ["\u043a\u0432\u0430\u0434\u0440\u0438\u043b\u043b\u0438\u043e\u043d", "\u043a\u0432\u0430\u0434\u0440\u0438\u043b\u043b\u0438\u043e\u043d\u0430", "\u043a\u0432\u0430\u0434\u0440\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432"],
        6: ["\u043a\u0432\u0438\u043d\u0442\u0438\u043b\u043b\u0438\u043e\u043d", "\u043a\u0432\u0438\u043d\u0442\u0438\u043b\u043b\u0438\u043e\u043d\u0430", "\u043a\u0432\u0438\u043d\u0442\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432"]
    }, h = "", j = (("" + c).match(/(\d{1,3})(?=((\d{3})*([^\d]|$)))/g)||[]).reverse(), e = 0; e < j.length; e++) {
            for (var f = d[e], c = j[e], b = "", g = 0; g < c.length; g++) if (a = c.substr(g), f && f[a] || d[0][a]) {
            b = b + " " + (f && f[a] || d[0][a]);
            break
        } else a = +c.substr(g, 1) * Math.pow(10, a.length - 1), +a in d[0] && (b = b + " " + d[0][a]);
        b && (b = c + " = " + b + " " + k(+c, i[e] || i[0]) + "<br />");
        h = b + h
    }
    return h || "\u043d\u043e\u043b\u044c"
};
document.write(parseNumber("  12345678901234567890   "))
</script>

Последний раз редактировалось рони, 19.06.2014 в 22:49.
Ответить с цитированием