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

    +75.4

    1. 1
    2. 2
    3. 3
    4. 4
    if (!Float.valueOf("0.0").equals(price.getActualPrice()))
    {
    	return true;
    }

    Сравнение чисел (float) нездоровым способом.

    Запостил: asolntsev, 04 Марта 2010

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

    • паттерн java-style :)
      Ответить
      • Если предположить, что он боится NullPointerException, то код проканает. Хотя за данный Float.valueOf("0.0") надо руки отрывать! На порядок лучше Float.valueOf(0).

        В противном случае, если price.getActualPrice() - примитив, еще проще
        if (price.getActualPrice() == 0f)
        {
        	return true;
        }
        Ответить
        • а если price.getActualPrice() == 1E-6 ? вобще для денег нельзя использовать float.
          Ответить
        • очень не рекомендуется сравнивать вещественные переменные с помощью оператора ==
          Ответить
          • А как же тогда?
            Ответить
          • Что такое по-твоему примитив в Java?

            На самом деле если важна точность вычислений, то в принципе нужен класс BigDecimal - рекомендации Sun.
            Ответить

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