1. JavaScript / Говнокод #26038

    0

    1. 1
    Math.round(400/0).toLocaleString('ru-RU')

    Запостил: seniorfrontenddev, 21 Ноября 2019

    Комментарии (33) RSS

    • "я разгадала знак " + Math.round(400/0).toLocaleString('ru-RU')
      Ответить
    • А зачем тут Math.round?
      Ответить
      • а зачем тут 400/0?
        Ответить
        • Чтобы ∞ получить. Хотя можно и тупо Infinity.toLocaleString(), конечно.
          Ответить
          • Infinity.toLocaleString('ru-RU');

            куик
            Ответить
            • А зачем тут 'ru-RU'? Оно во всех локалях однохуйственно походу...
              Ответить
              • '∞';

                починил
                Ответить
              • Гипотетически в локалях с направлением текста справа налево (арабская, иврит, идиш, персидская, сирийская) функция toLocaleString может вставить символы RLM и LRM, потому что математические формулы у них пишутся в том же направлении, что и у нас.

                Локаль же с направлением текста слева направо (любой язык с кириллицей или латиницей, например) гарантирует, что символы RLM и LRM не будут добавлены, потому что изменять направление текста для вставки математических формул не нужно.
                Ответить
                • А вдруг это не формула, а чей-то ник, например صياح∞الديك
                  Ответить
                  • ?хутеп
                    Ответить
                  • Ну вот и указали русскую локаль, чтобы символы изменения направления вывода не вставлялись.
                    Ответить
                    • Нашу, русскую, православную локаль!
                      Ответить
                      • Кстати, LRM может выскочить и для русской, православной локали... в «Edge»:
                        http://govnokod.ru/20265#comment336339
                        Ответить
              • Кстати, про локаль:
                (42).toLocaleString('ar-SY');
                Ответить
                • Выхлопы указывай
                  Ответить
                  • "٤٢"
                    Ответить
                  • Ещё так неплохо получается:
                    (42).toLocaleString('fa-IR');

                    Выхлоп:
                    "۴۲"
                    Ответить
                  • Бенгальские цифры:
                    (42).toLocaleString('bn-IN');
                    "৪২"
                    Ответить
                  • Бирманские цифры:
                    (42).toLocaleString('my-MY');
                    "၄၂"
                    Ответить
                  • (100500).toLocaleString('bn-IN');
                    "১,০০,৫০০"
                    (100500).toLocaleString('my-MY');
                    "၁၀၀,၅၀၀"
                    (100500).toLocaleString('ar-SY');
                    "١٠٠٬٥٠٠"
                    (100500).toLocaleString('fa-IR');
                    "۱۰۰٬۵۰۰"
                    Ответить
                  • (Math.PI).toLocaleString('bn-IN');
                    "৩.১৪২"
                    (Math.PI).toLocaleString('my-MY');
                    "၃.၁၄၂"
                    (Math.PI).toLocaleString('ar-SY');
                    "٣٫١٤٢"
                    (Math.PI).toLocaleString('fa-IR');
                    "۳٫۱۴۲"
                    Ответить
                  • (Math.exp(1)).toLocaleString('bn-IN');
                    "২.৭১৮"
                    (Math.exp(1)).toLocaleString('my-MY');
                    "၂.၇၁၈"
                    (Math.exp(1)).toLocaleString('ar-SY');
                    "٢٫٧١٨"
                    (Math.exp(1)).toLocaleString('fa-IR');
                    "۲٫۷۱۸"
                    Ответить
                  • (0.0/0.0).toLocaleString('bn-IN');
                    "NaN"
                    (0.0/0.0).toLocaleString('ar-SY');
                    "ليس رقم"
                    (0.0/0.0).toLocaleString('fa-IR');
                    "ناعدد"
                    (0.0/0.0).toLocaleString('my-MY');
                    "ဂဏန်းမဟုတ်သော"
                    (0.0/0.0).toLocaleString('hy-AM');
                    "ՈչԹ"
                    (0.0/0.0).toLocaleString('ka-GE');
                    "არ არის რიცხვი"
                    (0.0/0.0).toLocaleString('ru-RU');
                    "не число"
                    Ответить
                    • Охуенно. Если NaN, вывалившийся на экран намекает нам на баг, то фраза типа "У вас осталось не число рублей" унесет в астрал даже продвинутого пользователя
                      Ответить
                      • Первая строчка в другом браузере (просто для полноты картины):
                        (0.0/0.0).toLocaleString('bn-IN');
                        "সংখ্যা না"


                        Самое интересное, что в одних языках оставили "NaN", в других перевели, причём в разных браузерах таблица локализации не совпадает.
                        Ответить
                    • Ох май гуднесс
                      Ответить
                    • ԹչԹ
                       -
                      Ответить
      • Математика не нужна прогромисту
        Ответить

    Добавить комментарий