- 1
- 2
- 3
- 4
public void setDoubleValue( double doubleValue ) {
DecimalFormat myFormatter = new DecimalFormat("###.##");
this.doubleValue=Double.valueOf(myFormatter.format(doubleValue));
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+62.9
public void setDoubleValue( double doubleValue ) {
DecimalFormat myFormatter = new DecimalFormat("###.##");
this.doubleValue=Double.valueOf(myFormatter.format(doubleValue));
}
Округление дробной части до двух знаков запятой? Даже если так, то как насчет статического члена класса?
guest 13.03.2009 17:28 # +1
и кому понадобилось хранить строковое представление double? :-\
guest 13.03.2009 18:07 # 0
P.S. Автор - американец индийского происхождения, причем еще толковый.
guest 14.03.2009 02:22 # 0
а... да. затупил. Double.valueOf возвращает именно double. Тогда код вдвойне бугага
guest 20.03.2009 19:42 # +3
А вот статическую переменную делать как раз нельзя. Объект java.text.DecimalFormat - не Thread-Safe, при обращении к этому методу из нескольких потоков одновременно будет бяка.
См. http://java.sun.com/j2se/1.4.2/docs/api/java/text/DecimalFormat.html:
Synchronization
Decimal formats are generally not synchronized. It is recommended to create separate format instances for each thread. If multiple threads access a format concurrently, it must be synchronized externally.
guest 22.04.2009 20:55 # +2
Для локалей, где десятичной является запятая, код будет работать предельно интересно.
Дмитрий