Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
Округлить float (java servlet pages) |
Философия, технологии, алгоритмы! |
|
Опции темы |
21.09.2006, 17:22 | #1 |
в тенёчке
Сообщений: 8,037
Регистрация: 14.08.2002
Возраст: 44
Не в сети |
Округлить float (java servlet pages)
Есть формула:
float c=a+b; float d=Float.parseFloat(oRS.get(String("10"))*c; В как можно округлить d, чтобы после запятой осталось 2 цифры? Нужно именно в формуле, а не в запросе. В таком контексте: float d=round((Float.parseFloat(oRS.getString("10"))*c), 2); Не получается нифига... Даже так не выходит: float d=floor(Float.parseFloat(oRS.get(String("10"))*c); Возвращает ошибку с сообщением: symbol : method floor (float) Помогите, плиииз! |
22.09.2006, 08:35 | #3 |
бабай
Сообщений: 7,004
Регистрация: 29.07.2004
Возраст: 45
Не в сети |
Katrin_II, в ентом зловещем языке ничего не понимаю. Но когда нужно было сделать подобное на программируемом калькуляторе я поступал так: умножал на 100, от полученного значения брал int и обратно делил на 100.
Ес-сно все это применялось числам больше единицы ))) |
22.09.2006, 08:57 | #5 |
Форумец
Сообщений: 578
Регистрация: 16.11.2004
Не в сети |
Katrin_II, я ещё могу добавить, что можно после умножения на сто и взятия int, проверить остаток на больше-меньше 0.5. Если меньше, то так и берем инт и делим опять на сто, если больше или равно, то прибавляем к инту единичку и потом делим на сто. Короче, правила округления учитываем таким образом.
|
22.09.2006, 10:34 | #8 |
Registered User
Сообщений: 1,905
Регистрация: 25.03.2003
Не в сети |
угу, язык зловещий и sprintf там нету.
так что наиболее кошерно будет как-то так : import java.text.*; float fi = 1234.56789F; DecimalFormat mydf = new DecimalFormat( "0000000.00" ); System.out.println( mydf.format(fi) ); |
02.10.2006, 18:59 | #9 | |
Форумец
Сообщений: 1
Регистрация: 02.10.2006
Возраст: 56
Не в сети |
Цитата:
String.format(Locale, String, ...) String.format(String, ...) так же есть и printf System.out.printf("%.2f", 123.43556F); форматы такие же как в C/C++, плюс некоторые приятные расширения. Скажем для чисел можно указать использовать разделитель тысяч. По-умолчанию (т.е. если локаль не указывать) будет использоваться текущая. |
|