Katrin_II, в ентом зловещем языке ничего не понимаю. Но когда нужно было сделать подобное на программируемом калькуляторе я поступал так: умножал на 100, от полученного значения брал int и обратно делил на 100.
Ес-сно все это применялось числам больше единицы )))
[Ответ]
Katrin_II, я ещё могу добавить, что можно после умножения на сто и взятия int, проверить остаток на больше-меньше 0.5. Если меньше, то так и берем инт и делим опять на сто, если больше или равно, то прибавляем к инту единичку и потом делим на сто. Короче, правила округления учитываем таким образом.
[Ответ]
Katrin_II 09:13 22.09.2006
блин... float в integer не получается перевести...
пишу:
int d=Integer.parseInt(Float.parseFloat(oRS.get(String ("10"))*c);
А оно мне опять ошибку - symbol : method int (float)
[Ответ]
Katrin_II 09:31 22.09.2006
Получилось округлённое до целого число чисто по случайности. Решила метод Math добавить через точку:
Math.round(Float.parseFloat(oRS.get(String ("10"))*c)
угу, язык зловещий и sprintf там нету.
так что наиболее кошерно будет как-то так :
import java.text.*;
float fi = 1234.56789F;
DecimalFormat mydf = new DecimalFormat( "0000000.00" );
System.out.println( mydf.format(fi) );
[Ответ]
VYX 18:59 02.10.2006
Сообщение от netwind:
угу, язык зловещий и sprintf там нету.
так что наиболее кошерно будет как-то так :
import java.text.*;
float fi = 1234.56789F;
DecimalFormat mydf = new DecimalFormat( "0000000.00" );
System.out.println( mydf.format(fi) );
sprintf там есть, начиная с версии 5 (1.5):
String.format(Locale, String, ...)
String.format(String, ...)
так же есть и printf
System.out.printf("%.2f", 123.43556F);
форматы такие же как в C/C++, плюс некоторые приятные расширения.
Скажем для чисел можно указать использовать разделитель тысяч.
По-умолчанию (т.е. если локаль не указывать) будет использоваться
текущая.
[Ответ]