1. Java / Говнокод #13776

    +77

    1. 1
    float a = Float.parseFloat(new_size + "");

    Приведение дабла ко флоту.

    Запостил: Vladiator, 11 Сентября 2013

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

    • float a = Float.parseFloat(Double.toString(new_size));
      Ответить
      • Лучше же String.valueOf(new_size) — тип может поменяться.
        Ответить
        • Небольшой этюд на тему valueOf:
          public String toString() {
              return String.valueOf(this);
          }
          Ответить
          • lol
            Ответить
          • Это называется "эзотерическое программирование"
            Ответить
          • Боты, скажите мне, тчоделает String.valueOf?
            Ответить
            • Возвращает строковое представление чего угодно. Там перегрузки на все примитивы + одна на Object. Перегрузка на Object выглядит так:
              public static String valueOf(Object obj) {
                  return (obj == null) ? "null" : obj.toString();
              }
              Ответить
      • простите за дилетантский вопрос: а почему нельзя floatValue() из java.lang.Number воспользоватся?
        Ответить
        • Можно, но зачем? :) Я же даже пометил свой код зеленым, чтобы его в серьез не воспринимали...

          А аноним ниже написал правильный ответ: как и в сишке тупо (float)new_size.
          Ответить
      • показать все, что скрытоОтсосу член парню из Владикавказа. Прут наглые хуястые самцы.

        tarasber@mail.ru (Спросить Тараса)
        Ответить
      • показать все, что скрытоОтсосу член парню из Владикавказа. Прут наглые хуястые самцы.

        tarasber@mail.ru (Спросить Тараса)
        Ответить
      • показать все, что скрытоОтсосу член парню из Владикавказа. Прут наглые хуястые самцы.

        tarasber@mail.ru (Спросить Тараса)
        Ответить
    • (float)new_size

      //Кэп
      Ответить
      • а жаба так умеет? Шарп разу говорит "Parse или GTFO"
        Ответить
        • Пруф: http://ideone.com/awmCau.
          Ответить
        • Кстати, приславший мне этот код раньше на Шарпе программировал. Неужели в этом причина такого приведения?
          Ответить
          • Сишкокасты - неочевидное для многих (не только начинающих, но и пересевших) уродство. Более того, джва раза надо тип указывать.
            SomeVeryLongShit<String,Object> a=(SomeVeryLongShit<String,Object>) b;
            Потому часто юзают понятный для чтения хелпер-метод, который укорачивает код. Для примитивов такого к сожалению нельзя сделать ибо нет женериков.
            public static <T>
            T cast(Object o){
               return (T)o;
            }
            Ответить
            • К счастью, примитивы не сильно длинные.
              Ответить
              • Для некоторых - длинные. Вон пониже юзают var.
                Но я бы предпочел конечно
                float f=cast(doubleVal);
                Во-первых, уродские скобки каста часто надо оборачивать еще одними скобками, во-вторых, человек впервые увидевший каст - как он поймет что это? Слово cast хоть можно нагуглить.
                Ответить
          • В шарпе

            var a = float.Parse(newSize);
            Ответить
            • Эм, как-то не интуитивно...

              З.Ы. newSize в данном треде это дабл. Этот парс на даблах тоже пашет, не только на строках?
              Ответить
      • показать все, что скрытоОтсосу член парню из Владикавказа. Прут наглые хуястые самцы.

        tarasber@mail.ru (Спросить Тараса)
        Ответить

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