|
|
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
известно, что нельзя хранить деньги в типах данных с плавающей точкой. и говорят, что мол используйте long. давайте рассмотрим такую ситуацию: клиент совершает покупку за 10 копеек. по правилам системы деньги делятся в равных долях между 3 людьми. Получается по 3 копейки и одна остается. Как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2015, 02:45 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Правила придумывать. Предварительно посмотрев то, что уже придумали другие. P.S. Никакой компьютер не позволяет хранить бесконечные дроби, хотя для периодические можно заменить на пару числитель-знаменатель. Только обрабатывать замотаетесь и всё равно придётся решать вопрос: "Куда девать эту чёртову копейку?!" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2015, 07:39 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Я собственно и написал сюда, чтобы узнать что придумали другие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2015, 11:10 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
questionerдавайте рассмотрим такую ситуацию: клиент совершает покупку за 10 копеек. по правилам системы деньги делятся в равных долях между 3 людьми. Получается по 3 копейки и одна остается. Как быть? BigDecimal/long/int не решает проблему "дробления копейки". Собсно эта задача вообще нерешаема в плоскости типов данных. Математики ее могут решить парадоксально верно но практически неприменимо. Айтишники в общей своей массе тоже "дупля не стреляют"... ну посоветуют тебе дробно-рациональный тип. И дальше что? Как его обналичить. Неясно. Лучше всего ответ на данный вопрос даст любой бухгалтер. А в этом форуме лучше подобное не спрашивать. Только флуд не по делу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2015, 11:40 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
questioner, в long'ах хранят не целые копейки, а тысячные доли копеек. Или миллионные, смотря какая точность нужна. Кроме бухгалтеров ещё можно спросить юристов. Было уже по крайней мере несколько дел с посадками: лёгким движением руки банковский софт начинает начислять оставшиеся доли копеек/центов на счёт обладателя этой руки. В крупных банках набегают огромные суммы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2015, 12:21 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Joda Money ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2015, 16:56 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczJoda Money Как эта библиотека поможет решить мою задачу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2015, 21:42 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
можно остаток на отдельный счет, который деребанится когда будет возможно поделить на кол-во пайщиков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2015, 12:12 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
questionerизвестно, что нельзя хранить деньги в типах данных с плавающей точкой. и говорят, что мол используйте long. давайте рассмотрим такую ситуацию: клиент совершает покупку за 10 копеек. по правилам системы деньги делятся в равных долях между 3 людьми. Получается по 3 копейки и одна остается. Как быть? Можно было бы тупо выдать третьему остаток (4 копейки), но когда придётся делить 20 копеек на шестерых - последнему достанется 5 копеек :) Поэтому надо как-то так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Если не напутал- выдаст 2му и 5му по 4 копейке, остальным- по 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2015, 15:16 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
можно хранить в любой формате. главное чтоб все расчеты производились в этом же формате когда доходит дело до выдачи наличных - машина списывает тоже в этом же формате, по логике и выдать оператор должен в этом же формате, но т.к. доли копеек от выдать не может - происходит округление на этапе выдачи за потерю долей копеек никто не может предъявить- простая бессмыслица. большая ошибка накапливается когда происходит округление на каждой операции, а при округлении на конечном этапе - спокойно можно пренебречь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2015, 17:01 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
questionerизвестно, что нельзя хранить деньги в типах данных с плавающей точкой. и говорят, что мол используйте long. давайте рассмотрим такую ситуацию: клиент совершает покупку за 10 копеек. по правилам системы деньги делятся в равных долях между 3 людьми. Получается по 3 копейки и одна остается. Как быть? есть более жизненный пример - ввод накладных в 1с - грамотный бух вводит с накладной цену с ндс и количество. а реальная цена (без ндс) , которая хранится, получается обратным расчетом правда есть индивидуумы, которые потом проверяют на калькуляторе.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2015, 17:08 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Деньги хранить в жаве нужно только в копейках - иначе иногда на 1 копейку на "хитрых" суммах всегда погрешность, в итоге набегает тюремный срок. Именно поэтому банковский софт пишут не на жаве а на делфи -там для этого есть спец тип - Currency, в котором 4 знака после запятой и нет никаких проблемм с погрешностью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 13:01 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
questionerBlazkowiczJoda Money Как эта библиотека поможет решить мою задачу? Там куча Serializable типов для хранения валют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 13:12 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Микола Питерскийтам для этого есть спец тип - Currency, в котором 4 знака после запятой А если надо 6? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 13:13 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Микола Питерскийдля этого есть спец тип - Currency, в котором 4 знака после запятой и нет никаких проблемм с погрешностьюА если больше 4-х знаков, тогда что ? Отсечение или округление ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 13:15 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Еще раз верну мечтателей в начало топика. 10 копеек поделили на 3 чела. Согласно математике будет 10/3 (десять третьих). Несократимая рациональная дробь. Вписать ее в ведомость нельзя. Обналичить в банкомате тоже. Поэтому каждый чел получить по 3 копейки. И 1 копейка будет в остатке. Как быть с остатком? Кому выдать одну копейку? Вот в чём вопрос автора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 13:20 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
maytonКому выдать одну копейку? Вот в чём вопрос автора. Выяснять бизнес-правила у аналитика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 13:24 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczВыяснять бизнес-правила у аналитика. Либо у эксперта предметной области. Должностью аналитика у нас зачастую пренебрегают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 13:25 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
В данном случае - у бухгалтера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 13:28 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
в каком виде не храни , всегда возникнет вопрс об округлении . деление вседа есть. тут надо на берегу договариваться о правилах игры , а это уже дело не прогаммистов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 14:52 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Микола ПитерскийИменно поэтому банковский софт пишут не на жаве а на делфи -там для этого есть спец тип - Currency, в котором 4 знака после запятой и нет никаких проблемм с погрешностью.Вот не надо революционных песен - я знаю массу реальных примеров, когда четыре знака после запятой никого не спасают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 15:54 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Четыре знака - это здесь вообще ни к месту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 16:21 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
В операциях с деньгами долей копейки не бывает. Дробные копейки могут быть в цене, в строке, но не в сумме документа . Пример с 10/3 копейки надуман. Однако за расхождение баланса на копейку отымеют банк и всю линейку причастных. Так что про бизнес-правила усё верно сказано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 17:12 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczМикола Питерскийтам для этого есть спец тип - Currency, в котором 4 знака после запятой А если надо 6? А скажи - в какой стране для копеек - т.е. дробных единиц надо не 2 знака а 6 ??? В делфи если положил в переменную Currency число в копейках - то при чтении читается точно такое число - т.е. никогда нет никакой погрешности. А вот в жаве: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. а вот вывод: Код: java 1. 2. 3. А самое интересное что при записи в базу например в поле numeric(18,2) лишний "хвостик" отбрасывается - т.е. вы пишете в переменную число 0.175, а на самом деле там хранится вот это: 0.1749...., а в базу сохранится 0.174. Далее надеюсь все понятно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 18:00 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
авторВ делфи если положил в переменную Currency число в копейках - то при чтении читается точно такое число - т.е. никогда нет никакой погрешности. ты это только 1с такое не рассказывай там цена хранится с точностью float. авторА самое интересное что при записи в базу например в поле numeric(18,2) лишний "хвостик" отбрасывается - т.е. вы пишете в переменную число 0.175, а на самом деле там хранится вот это: 0.1749...., а в базу сохранится 0.174. не умеешь работать с базой не берись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 18:38 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Микола Питерский Код: java 1. Тебе - двойка. Дальше выделенного смотреть уже неинтересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 18:41 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
авторВ делфи если положил в переменную Currency число в копейках - то при чтении читается точно такое число - т.е. никогда нет никакой погрешности. раздели сумму 100руб на 33шт - что получишь? а потом умнож полученную цену на 10000шт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 18:44 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Микола ПитерскийА вот в жаве: Код: java 1. В java - BigDecimal, а double - у идиотов. Ничего личного, просто факт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 08:31 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Начался уже откровенный срач. В жаве я начинающий - может чего-то и не понимаю, но я очень хорошо знаю делфи и уж поверьте такой хрени там нет. Почему здесь "ошибка": Код: java 1. ??? Почему одни из вас говорят что можно в финансовых расчетах использовать double, а остальные говорят что только BigDecimal? Если переменная double - то в какой тип поля в базе данных нужно сохранять эту переменную? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 09:02 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Микола ПитерскийВ делфи если положил в переменную Currency число в копейкахПопробуйте, но только с double (а-ля Extended , или как там точно, уже не помню) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 09:05 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Тема double в финансах - жуткий боян. Погугли хотя-бы статьи. Их полно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 09:07 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Микола ПитерскийВ жаве я начинающий - может чего-то и не понимаю, но я очень хорошо знаю делфи и уж поверьте такой хрени там нет. Есть. То, что точные данные включая денежные, нужно хранить только в числах с фиксированной запятой- тема старше, чем 90% здешних обитателей. Требования на разработку Ada (точнее на конкурс, где она выиграла) были написаны что-то около 1980 года. Микола ПитерскийПочему одни из вас говорят что можно в финансовых расчетах использовать double, а остальные говорят что только BigDecimal? Если переменная double - то в какой тип поля в базе данных нужно сохранять эту переменную? Я отвечаю только за себя. В oracle, к примеру, number - это числа с фиксированной точкой. Вот в них и надо хранить деньги. В java - BigDecimal. Кто говорит про double - пусть дальше говорит. В delphi Curency это как раз усечённый аналог BigDecimal, хоть и реализованный по-другому. Хочешь- напишу Curency в java - делов-то на час-другой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 09:17 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
UsmanМикола ПитерскийВ делфи если положил в переменную Currency число в копейкахПопробуйте, но только с double (а-ля Extended , или как там точно, уже не помню) Зачем мне пробовать double в делфи - если там для этого есть Currency? Я просто хочу узнать как в жаве можно работать с финансовыми данными? В какой тип переменной нужно сохранить число, например 122.52 чтобы там действительно было это число а не хрень в виде 122.519999999... И поверьте я погуглил достаточно этот вопрос - но ответов нет - и я понял что на джаве финансовые расчеты не делают. Я задал простые вопросы - ответьте пожалуйста на них, а не посылайте туда где нет ответов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 09:19 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Alexey Tomin, спасибо - теперь я понял. Моя ошибка в том что я пытался в BigDecimal ложить double, а нужно строку и тогда все встает на свои места. Только вот напрягает что в в BigDecimal нет простых арифметических операций (+, - и т.д) а все делается только через методы - почему так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 09:29 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Блин - новые проблемы. Я на жаве пишу только под андроид - там тоже есть BigDecimal, но там нет методов для работы с данным типом данных с базой данных - т.е. в андроиде есть только getDouble и getFloat, а вот в обычной жаве попробовал: Код: java 1. 2. тут есть getBigDecimal. А как тогда работать с финансами в андроиде? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 09:40 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Микола Питерский А как тогда работать с финансами в андроиде? Таки написать Curency? :D ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 09:45 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Alexey TominМикола Питерский А как тогда работать с финансами в андроиде? Таки написать Curency? :D А можно написать Curency, в котором будут +,-,*,\ ??? Потому как если расчеты делать через методы - то крыша поедет - н-р какое среднеквадратическое отклонение по гаусу :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 09:52 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Микола ПитерскийAlexey Tominпропущено... Таки написать Curency? :D А можно написать Curency, в котором будут +,-,*,\ ??? Потому как если расчеты делать через методы - то крыша поедет - н-р какое среднеквадратическое отклонение по гаусу :) Нет, нельзя. Значит long ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 10:01 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Если использовать BigDecimal - то простое выражение 122.52*12.8/100 превращается в плохочитаемую хрень - а есть же много более сложных выражений со скобками, округлениями, получениями максимальних, мин. значений, средних внутри выражения, а если это делать через методы BigDecimal то одна строка выражения превращается в страницу кода, в котором как и что работает можно разобраться только под отладчиком. Я понимаю что Object +(-*\) Object это неправильно. А может есть всетаки что-то нормально удобоваримое для финансовых расчетов в жаве? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 10:09 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Alexey TominНет, нельзя. Значит long Ну так я так и выкрутился. Если это деньги - то храним их в копейках. Ноооо! Есть например содержание драгметаллов в изделии, сегодня это 3 знака после запятой, завтра 4, послезавтра 5 -то есть заранее "зарезервировать" нужный множитель не получится. В общем - это тоже совсем не удобно. Думал спрыгнуть с делфи на джаву - так как она намного удобнее, но из-за этой хрени переезд придется отложить навсегда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 10:16 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Микола ПитерскийПотому как если расчеты делать через методы - то крыша поедет - н-р какое среднеквадратическое отклонение по гаусу :)Эт точно ! Можно запилить спец. класс по формату шаблона Строителя (pattern Builder): Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 10:25 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Вот не понимаю - жава такой класный язык, но почему в ней нет таких простых типов переменных как decimal, currency, которые есть даже в давно вымершем делфи? Или всетаки верно утверждение - что джава для финансовых расчетов не предназначена? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 10:37 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Микола Питерский, Та хрень, что в BigDecimal есть везде. Просто в BD она управляемая. Всего делов то перед показом округлить. Грубо говоря Код: java 1. Выдает 15.68256 В чем тут сложность с вычислениями. Вопрос "куда девать остаток копеек" надо решать с прикладниками в соответствии с тем, как принято. Но про них надо знать. И указывать необходимую точность в каждой операции , а не задумываться в конце - что это было? Наличие черного ящика с думателем внутре создает иллюзию, что все посчитано верно. Тут у бухгалтеров, банкиров , биржевиков и т.п. могут быть разные подходы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 10:39 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
С округлением вопросов нет - в жаве смотрю есть очень много разных типов округлений, а вот в делфи был только один и он для бухгалтерии не подходил - приходилось свой алгоритм писать. Я понял - в жаве используем BigDecimal, а в андроиде long. И кто сказал - что код должен быть таким простым как в делфи :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 10:52 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Микола Питерский, Можно и в Ведройде BigDecimal. В конце концов, читать строки из базы тоже ведь не запрещено. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 10:57 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, Ну или Blob ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 10:59 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевМикола Питерский, Можно и в Ведройде BigDecimal. В конце концов, читать строки из базы тоже ведь не запрещено. :) Точно! Надо проверить - но наверное будет проблемы с разделителем (у нас точка, у них запятая)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 11:06 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Микола Питерский, Ну уж сделать так, чтобы в базе был один и тот же разделитель не вопрос. Можно хоть мантиссу с ординатой в разных строках хранить. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 11:08 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Спасибо ребята! Политику партии понял - наверно буду переезжать с абракадабры на жаву. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 11:13 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Микола ПитерскийДумал спрыгнуть с делфи на джаву - так как она намного удобнее, но из-за этой хрени переезд придется отложить навсегда. Спрыгивать надо на scala. Для начала дополнительный бонус- синтаксис человеческий. А потом и функциональщину подтянешь. Правда как это на ведроид идёт- не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 11:49 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Alexey Tomin, спасибо - буду курить scala. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 12:11 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
Хочу перелезть сразу на javaFX (про swing знаю но никогда не пробовал) - какие подводные камни там меня могут ждать? javaFX попробовал, понравилось, вроде и тормозов нет и под линюксом потестил - вроде все ок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 12:14 |
|
||
|
как хранить деньги в int long or bigDecimal ?
|
|||
|---|---|---|---|
|
#18+
все го то надо документацию посмотреть по BigDecimal ?! а вот вывод: Код: java 1. 2. 3. А самое интересное что при записи в базу например в поле numeric(18,2) лишний "хвостик" отбрасывается - т.е. вы пишете в переменную число 0.175, а на самом деле там хранится вот это: 0.1749...., а в базу сохранится 0.174. Далее надеюсь все понятно? Код: java 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 15:56 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2125659]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
169ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
85ms |
get tp. blocked users: |
2ms |
| others: | 218ms |
| total: | 514ms |

| 0 / 0 |
