Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > Класс "Фиксированная запятая"


Автор: WildChild 5.1.2006, 19:40
Пока, основное, что необходимо, это работа с вещественными числами. Можно ее реализовать с помощью класса с фиксированной запятой. Только вот я не особо понимаю как это... smile
0.37 - фиксированная запятая, а
37^-2 - плавающая запятая.
Ну и что? smile

Может так?

public class FloatNumber {
private int int_part;// целая часть числа
private int dbl_part;// дробная часть числа
методы, реализующие основные операции над таким числом.
}


Это просто мысли на бумаге...
И ещё, ведь при вводе число будет с точкой, а как быть с ней. Или осуществлять ввод в переменную типа String, а потом обрабатывать...

Может кто писал такой класс или знает где можно посмотреть..?

Спасибо!

Автор: onsh76 7.1.2006, 10:16
Цитата(WildChild @ 5.1.2006, 19:40)
...Может кто писал такой класс или знает где можно посмотреть..?...

Не работал с J2ME, понимаю что стандартная Java там упрощенная (или же проще сказать "обрезанная"), и возможно там нет чего Вам нужно.
А в J2SE есть такой класс, он называется java.math.BigDecimal. Реализацию можно посмотреть, заглянув в src.zip файл JDK.

Автор: WildChild 7.1.2006, 14:13
onsh76, ёщё не смотрел, но спасибо! Обязательно посмотрю...
Думаю оттуда истина и проявится...

Автор: nagliyvred 13.1.2006, 11:29
Хм.. я пользовался предложенным вариантом для работы с обыковенными дробями... а для fixed point есть такой способ:
Код

public class FPoint
{
    private long fixed;
    
    public FPoint(int i)
    {
        fixed = i << 16;
    }
    
    public int getInt()
    {
        return (int)(fixed >> 16);
    }
   
    public long getFPoint()
    {
        return fixed;
    }
    public int add(FPoint f1)
    {
        return (int)((getFPoint() + f1.getFPoint()) >> 16);
    }
     // etc - все другие нужные математические операции...
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)