double сохраняет данные не в точном виде. Нужен ли тип данных, который будет сохранять все знаки после запятой в точном виде? - страница 3
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Так не надо делать.
Надо так:
а если нужно прибавлять каждый раз другое значение?
Определиться с точностью с которой надо это делать и после каждого сложения нормализовать.
Не вижу повода для дискуссии.
Тип Double реализован на уровне железа процессора, и поэтому он обязательно должен быть в любом языке.
Тип Decimal - на мой взгляд, излишен. А для тех случаев, когда реально нужно офердохера знаков после запятой - вполне можно написать соответствующий класс.
Я вот недавно написал себе класс CFraction - простые дроби. Может быть, кто-то и простые дроби хочет иметь на уровне компилятора ?
разве не лучше работать с точными числами, чем с неточными?
Работайте.
разве не лучше работать с точными числами, чем с неточными?
Лучше. Но, далеко не везде могут получиться точные значения. Найди, скажем, среднегеометрическое значение из трех и более чисел...
Мир несовершенен, и ему совершенно все равно, что нам лучше.
Греки тоже, когда узнали, что SQRT(2) нельзя представить в виде отношения целых чисел - сильно огорчились, по легенде Пифагор, считавший, что все в природе можно представить в виде отношения целых чисел - приказал убить нашедшего доказательство.
Посему - разумно пользоваться возможностями, предоставляемыми процессором (стандартный double), а для особых случаев - написать свой класс.
Работайте.
нету возможности
Как "нету" ???
Объявляешь класс CDecimal - и вперед, будет у тебя значения с фиксированной десятичной точкой.
не поможет. будет просто округлять до этого знака.
Добавьте фигурные скобочки, что бы нормализация была после каждого прибавления, а не один раз в конце.