Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Считаем от 1 000 000 000 000 ₂ до 1 111 111 111 111 ₂

Автор RawonaM, августа 28, 2011, 18:49

0 Пользователи и 1 гость просматривают эту тему.



Timiriliyev

Правда — это то, что правда для Вас.


Bhudh

Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо



fujhi

Главное, чтобы у РавонаМа в ближайшие восемь сообщений не включился кантонский. Он даст сбой на этом числе, т.к. lìhng не подставляет. :-[
6503
Этот аккаунт официально заброшен. Связаться со мной можно по всё тому же адресу, [email]dmymd@yandex.ru[/email]. Всем пока!


fujhi

Этот аккаунт официально заброшен. Связаться со мной можно по всё тому же адресу, [email]dmymd@yandex.ru[/email]. Всем пока!


fujhi

Этот аккаунт официально заброшен. Связаться со мной можно по всё тому же адресу, [email]dmymd@yandex.ru[/email]. Всем пока!


fujhi

Цитата: RawonaM от августа  3, 2012, 10:14
luhk chin ngh-baak chat (6507)
Ну вот, случилось то, чего мы все так боялись. Правильно «luhk chīn ńgh-baak lìhng chat».

РавонаМ, напомните, какой у Вас там код, я могу поправить.

luhk chīn ńgh-baak lìhng baat (6508)
Этот аккаунт официально заброшен. Связаться со мной можно по всё тому же адресу, [email]dmymd@yandex.ru[/email]. Всем пока!


RawonaM

Цитата: fujhi от августа  3, 2012, 10:20
РавонаМ, напомните, какой у Вас там код, я могу поправить.

function toCantonese(n, classifier)
{
  var digits = ['lìhng', 'yat', 'yih', 'saam', 'sei', 'ngh', 'luhk', 'chat', 'baat', 'gáu'];
  var a = Number(n);
  var r = [];
  var n = 0;

  if (a == 2 && classifier) {
      return 'léuhng ' + classifier;
  }

  if (a > 10000) {
     n = Math.floor(a / 10000);
     if (n > 1)
       r.push(toCantonese(n));
     r.push('maahn');
     a = a % 10000;
  }


  if (a > 1000) {
     n = Math.floor(a / 1000);
     if (n > 1)
       r.push(toCantonese(n));
     r.push('chin');
     a = a % 1000;
  }

  if (a > 100) {
     n = Math.floor(a / 100);
     if (n > 1)
       r.push(toCantonese(n) + '-baak');
     else
       r.push('baak');
     a = a % 100;
  }

  if (a > 10) {
     n = Math.floor(a / 10);
     if (n > 1)
       r.push(digits[n] + '-sahp');
     else
       r.push('sahp');
     a = a % 10;
  }


  if (a > 0 || r.length == 0)
    r.push(digits[a]);

  if (classifier)
    r.push(classifier);

  return r.join(' ');
}

fujhi

Исправленный вариант (кажется, у Вас кодировка позволяет хранить à, но не позволяет ā, так что я записал первый тон как à; в Гонконге à и ā в свободном варьировании):
function toCantonese(n, classifier)
{
  var digits = ['lìhng', 'yàt', 'yih', 'sàam', 'sei', 'ńgh', 'luhk', 'chàt', 'baat', 'gáu'];
  var a = Number(n);
  var r = [];
  var n = 0;

  if (a == 2 && classifier) {
      return 'léuhng ' + classifier;
  }
 
  if (a >= 10000) {
     n = Math.floor(a / 10000);
     if (n > 1)
       r.push(toCantonese(n));
     r.push('maahn');
     a = a % 10000;
  }
 
  if (a >= 1000) {
     n = Math.floor(a / 1000);
     if (n > 1)
       r.push(toCantonese(n));
     r.push('chìn');
     a = a % 1000;
  }
  else if (n > 0 && a > 0) {
     n = 0;
     r.push(digits[0]);
  }

  if (a >= 100) {
     n = Math.floor(a / 100);
     if (n > 1)
       r.push(toCantonese(n) + '-baak');
     else
       r.push('baak');
     a = a % 100;
  }
  else if (n > 0 && a > 0) {
     n = 0;
     r.push(digits[0]);
  }

  if (a >= 10) {
     n = Math.floor(a / 10);
     if (n > 1)
       r.push(digits[n] + '-sahp');
     else
       r.push('sahp');
     a = a % 10;
  }
  else if (n > 0 && a > 0) {
     n = 0;
     r.push(digits[0]);
  }


  if (a > 0 || r.length == 0)
    r.push(digits[a]);

  if (classifier)
    r.push(classifier);

  return r.join(' ');
}
Этот аккаунт официально заброшен. Связаться со мной можно по всё тому же адресу, [email]dmymd@yandex.ru[/email]. Всем пока!

fujhi

РавонаМ, попробуйте ещё такой код, чтобы выводить числа по-китайски иероглифами (вот только не факт, что &#x...; коды правильно преобразуются; через быстрый ответ работает, через основную форму — нет):
function toChinese(n, classifier)
{
  var digits = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九'];
  var a = Number(n);
  var r = "";
  var n = 0;

  if (a == 2 && classifier) {
      return '兩' + classifier;
  }

  if (a >= 10000) {
     n = Math.floor(a / 10000);
     if (n > 1)
       r += toChinese(n);
     r += '萬';
     a = a % 10000;
  }

  if (a >= 1000) {
     n = Math.floor(a / 1000);
     if (n > 1)
       r += toChinese(n);
     r += '千';
     a = a % 1000;
  }
  else if (n > 0 && a > 0) {
     n = 0;
     r += digits[0];
  }

  if (a >= 100) {
     n = Math.floor(a / 100);
     if (n > 1)
       r += toChinese(n);
     r += '百';
     a = a % 100;
  }
  else if (n > 0 && a > 0) {
     n = 0;
     r += digits[0];
  }

  if (a >= 10) {
     n = Math.floor(a / 10);
     if (n > 1)
       r += digits[n];
     r += '十';
     a = a % 10;
  }
  else if (n > 0 && a > 0) {
     n = 0;
     r += digits[0];
  }


  if (a > 0 || r.length == 0)
    r += digits[a];

  if (classifier)
    r += classifier;

  return r;
}
Этот аккаунт официально заброшен. Связаться со мной можно по всё тому же адресу, [email]dmymd@yandex.ru[/email]. Всем пока!



Bhudh

Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Timiriliyev

Правда — это то, что правда для Вас.

Вадимий

In Sechstausendfünfhundertdreizehn Tagen werde ich schon für lange in Moskau sein.
Через шесть тысяч пятьсот тринадцать дней я уже давно буду в Москве.


Вадимий

Für mich ist das Extetnat mehr bequem und angenehm als für Sechstausendfünfhundertfünfzich anderen Schüler.
Для меня экстернат — это более удобно и приятно, чем для 6515 других школьников.

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр