ЙажаСценарий / Говнокод #27341 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
function isNumeric(str)      //for non-numeric fields
{
	var FlagS=0, FlagN=0;
	var str1=new Array();
	
	for(var i=0;i<str.length;i++) //convert string to a char array
	{
		str1[i]=str.charAt(i);
	}	
	for(i=0;i<str1.length;i++)   //check for digits
	{
		if(str1[i]>='0'&&str1[i]<='9' ) 
		{
			FlagN=1;
		}
	}
	if(FlagS==1||FlagN==1) 		//give a final decision
	{ 
		FlagS=FlagN=0;
		return true;
	}
}

Красота по-индийски. FlagS не понадобился, ну и хер с ним :)

Запостил: kropotor kropotor, (Updated )

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

    • А ты знал, что у индийцев есть такой священный знак:

      .
       /
       \/\
      \/\
        /


      ?

      > var str1=new Array();

      Как хорошо, что в JS есть злоебучий СМ!
      Ответить
      • Сейчас тов. майор опять удолит говнокод из интернета.
        Ответить
        • Я, когда смотрел влог креосана из Индии, видел, как они постоянно охуевали, когда видели свастики.

          «Может это у них священный символ такой?»

          А потом они своему подписчику из Индии через Гугл транслейт перевели что-то типа: «А вы знаете, что этот символ – свастика – это символ Гитлера и нацистов?», у индийца аж лицо помрачнело, но он головой покачал, мол, не знает )))
          Ответить
          • Индусы не знают кто такой Гитлер. Подставной был индус.
            Ответить
            • Neeraj Kumar, owner of Meerut-based MVF Products, which manufactured the cones, said cones were named after an uncle who was nicknamed “Hitler” because of his quick temper.

              “In our Uttar Pradesh village,” said Kumar, “anyone who has a ‘karak mejaz’ is called Hitler. One of my uncles is a short-tempered and strict man, so we nicknamed him Hitler.

              “While naming this particular batch of cones, I thought why can’t we have a little fun at the expense of my uncle and name the cones after him! That was how the name originated.”


              Да, это так. В Монголии, говорят, тоже всё в свастиках.
              Ответить
              • У японцев иероглиф 卍 [manji] хоть и не входит в список дзёё-кандзи, но часто используется, им буддистские храмы обозначают.
                В японском сленге есть фраза まじ卍 [maji manji]. まじ в сленге существует очень давно как сокращение от 真面目 [majime] (что означает «серьёзный») и используется примерно как «Серьёзно?», «Невероятно!», «Не могу в это поверить», «Я не шучу» и т.п. Фраза «Мадзи-мандзи» появилась относительно недавно (лет пять назад) и значит по сути то же самое, что и просто «мадзи», но звучит более модно, стильно, молодёжно. Естественно, среднестатистическому японцу даже в голову не придёт ассоциировать мандзи/свастику с Третьим рейхом, такие заёбы есть только в странах, где ничего не знают про буддизм/индуизм.
                Ответить
                  • Ну, японцы же буддисты, в буддизме свастика чаще всего в левую сторону закручена (а вообще разницы вроде как нет). У индусов различаются левая и правая по смыслу, если я не ошибаюсь.
                    Ответить
                    • Правая свастика раскапывает, а левая – наоборот – закапывает?
                      Ответить
                      • Один мужик идет вдоль улицы и копает ямы, за ним второй эти ямы закапывает. Прохожий удивляется:
                        - Вы что делаете, идиоты? Один копает, второй закапывает?
                        - Я не второй, я третий. Второй не вышел на работу, он должен был деревья сажать.
                        Ответить
                    • если солярный символ, то должна по одну сторону от экватора быть левовращающей, а по другую - декстро

                      но не сходится с ареалом будоиндусов
                      Ответить
        • >>Would the Germans name a sausage after Godse?
          >Nathuram Vinayak Godse was the assassin of Mahatma Gandhi
          godse.cx
          Ответить
  • Я пофиксил...

    function isNumeric(str) //for non-numeric fields
    {
    var FlagS=0, FlagN=0;
    var str1=new Array();

    for(var i=0;i<str.length;i++) //convert string to a char array
    {
    str1[i]=str.charAt(i);
    }
    for(i=0;i<str1.length;i++) //check for digits
    {
    if(str1[i]>='0'&&str1[i]<='9' )
    {
    FlagN=1;
    }
    else //fixed by Radjesh
    {
    FlagS=1;
    }
    }
    if (FlagS==1)
    {
    FlagN==0;
    }
    if(FlagN==1) //give a final decision
    {
    FlagS=FlagN=0; //just to be sure they are really reseted!
    return true;
    }
    if (FlagS==1) {
    return false; //no more 'undefined' thanks to FlagS!!!
    }
    }
    Ответить
    • 1.5 не распарсит...

      Это, кстати, уже было на говнокоде. Кто-то фиксил подобную функцию, постоянно добавляя новые форматы записи чисел, в итоге я навсегда расхотел делать серьёзное что-то в обход стандартной библиотеки.
      Ответить
      • Don't get bit by the goblins hiding in the float boat! DO UNIT TESTING!
        What is, and is not a float may surprise you:

        Command to parse                        Is it a float?  Comment
        --------------------------------------  --------------- ------------
        print(isfloat(""))                      False
        print(isfloat("1234567"))               True 
        print(isfloat("NaN"))                   True            nan is also float
        print(isfloat("NaNananana BATMAN"))     False
        print(isfloat("123.456"))               True
        print(isfloat("123.E4"))                True
        print(isfloat(".1"))                    True
        print(isfloat("1,234"))                 False
        print(isfloat("NULL"))                  False           case insensitive
        print(isfloat(",1"))                    False           
        print(isfloat("123.EE4"))               False           
        print(isfloat("6.523537535629999e-07")) True
        print(isfloat("6e777777"))              True            This is same as Inf
        print(isfloat("-iNF"))                  True
        print(isfloat("1.797693e+308"))         True
        print(isfloat("infinity"))              True
        print(isfloat("infinity and BEYOND"))   False
        print(isfloat("12.34.56"))              False           Two dots not allowed.
        print(isfloat("#56"))                   False
        print(isfloat("56%"))                   False
        print(isfloat("0E0"))                   True
        print(isfloat("x86E0"))                 False
        print(isfloat("86-5"))                  False
        print(isfloat("True"))                  False           Boolean is not a float.   
        print(isfloat(True))                    True            Boolean is a float
        print(isfloat("+1e1^5"))                False
        print(isfloat("+1e1"))                  True
        print(isfloat("+1e1.3"))                False
        print(isfloat("+1.3P1"))                False
        print(isfloat("-+1"))                   False
        print(isfloat("(1)"))
        Ответить
    • Не эквивалентно. В питоне есть string.isnumeric(), вот это будет эквивалентно.
      Ответить
        • Потому что возвращает int, это же из джавы, да? А должно тру/фолс возвращать.
          Ответить
          • Это из джаваскрипта, и если не прокатит парс, ловишь исключение, и возвращаешь фолс, а на результат интовый можно забить
            Ответить
                • Нет

                  Можно делать вот так: isNaN ("123"), получится true. Эта питушня проверяет, является ли переменная или строка числом.
                  Ответить
                  • А я думал она проверяет, является др переданное ей значение наном.
                    Ответить
                    • Пиздец. Она реально это и делает. Кажется, у меня поехала крыша.
                      Ответить
                      • parseInt всегда возвращает number.

                        number это плавающий питух, способный содержать в себе число с плавающей точкой или NaN или бесконечность (их там две)


                        Если строку пробразовать в число нельзя, то parseInt возвращает NaN.

                        Number.isNan получает аргумент типа number, и возвращает true, если он NaN (пушо сравнивать через == их нельзя: NaN не равен самому себе)

                        Хуёво в скриптушне без стат типизации, правда?
                        Ответить
                        • Даа, очень жалко скриптухов)

                          А я думал, мы про жабий parseInt...
                          Ответить
                          • не путай Java и JavaScript 🙂

                            жабий parseInt вроде исключение кидает
                            Ответить
                            • А джаваскриптушной? Вот Вистефан сказал:

                              «Это из джаваскрипта, и если не прокатит парс, ловишь исключение, и возвращаешь фолс, а на результат интовый можно забить»
                              Ответить
                              • В джаваскрипте нету ни intа*, ни исключений из parseInt
                                Вистефан говорил про джаву.

                                Кстати, в C# есть tryParse, а в джаве нету, потому что в джаве нету передачи по укококозателю интов

                                *в джите есть скорее всего, в системе типов нет
                                Ответить
                                • просто в Java есть отдельный тип для целых чисел, а в джаваскрипте нету

                                  Теперь у них parseInt возворащает тип, который может быть NaN

                                  Джаваскриптеры-с
                                  Ответить
                              • А INF там есть? Мне, кстати, что-то подсказывает, что NaN есть в любом языке программирования, т.к. он есть в ПРОЦЕССОРЕ и ещё в спецификации питуха.
                                Ответить
                                • > в ПРОЦЕССОРЕ
                                  в сопроцессоре :)))

                                  arithmetic formats: sets of binary and decimal floating-point data, which consist of finite numbers (including signed zeros and subnormal numbers), infinities, and special "not a number" values (NaNs)
                                  https://en.wikipedia.org/wiki/IEEE_754
                                  Ответить
                                  • Да! Всё напутал, всё напутал. А ещё я путаю xmx, mmx, xxm и ещё какую-то штуку, возможно, я её даже уже перечислил.
                                    Ответить
                                    • xmx это опция jvm для макс размера хипа

                                      mmx это древнее расширение интела, набор инструкций для мульти медиа, которые действительно реюзали регистры FPU (мат сопроцепссора для работы с плав питухами, который с 486-го перекочевал в CPU)

                                      Потом MMX заменили на SSE, и тот стал юзать регистры XMM, и отъебался от регистров FPU

                                      А что такое xxm я не знаю
                                      Ответить
                                      • xxm это SSE, только я забыл как оно называется.

                                        Ладно, постараюсь запомнить!
                                        Ответить
                                      • "Xmx" ("-X max") — это максимальный размер хипа. Знячит*, "Xmn" ("X min") — это минямальный размер хипа!

                                        Угадай, что будет, если сделать "-Xmx4G -Xmn4G"?
                                        *Нят.
                                        Ответить
                                        • А вот и нет. Минимальный размер это Xms.

                                          misimal наверное
                                          Ответить
                                          • S это _начальный_ размер, т.е. сколько ПАМЯТИ жвм для программы аллоцирует на старте.
                                            Ответить
                                          • Да. -Xmn — это размер eden generation (или как оно там сейчас нязывается), куда складываются свежесозданные объекты перед тем, как переехать в old. "-Xmx4G -Xmn4G" — это эпический выстрел в ногу, потому что с такими нястройками вообще все объекты будут лежать в eden, и GC от такого окаваится.
                                            Ответить
                                            • GC просто будет каждый раз теребонькать все объекты?
                                              Все GC станут мажорными?
                                              Ответить
                                              • Ага, причём не просто мажорными, а минорными, но чистящими все аллоцированные объекты (выполняющими работу мажорных). С учётом того, что минорные ГЦ оптимизированы для чистки большого количества мёртвых тел — всё будет очень плохо.
                                                Ответить
                                      • У меня по АСМ была четверка, но это меня не остановило от взлома винды из линукса )))
                                        Ответить
                                      • Асм в любом случае полезно учить, зело помогает в понимании всего
                                        Ответить
                  • падажжи, isNaN ("123") это false
                    патамушт изнанка сначала сделает Number("123")
                    Ответить
                    • Да, всё так. Я просто курино прочитал.

                      Чтобы проверить, является ли строка валидным числом, нужно сделать !isNaN(x);
                      Ответить

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

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8