Size: a a a

2020 December 07

SP

Slava Pinchuk in Go-go!
Turn it into a float64. This is evil. Especially if you're working with money (where types like numeric and decimal have the most usage).
источник

Y

Yury in Go-go!
Edem Injection
везде на всем стаковерлоу где гуглю так и делают, у меня на падает
Обратите внимание на звезды и амперсанты
источник

DP

Daniel Podolsky in Go-go!
Slava Pinchuk
https://postgrespro.ru/docs/postgrespro/10/datatype-numeric

Вот чтото годное
но что такое переменная точность
вещественное число с переменной точностью это типа после 15-го символа не точно?
переменная точность - это плавающая точка. чем больше целая часть - тем менее точно можно выразить дробную
источник

SP

Slava Pinchuk in Go-go!
Edem Injection
везде на всем стаковерлоу где гуглю так и делают, у меня на падает
сделайте сниппет кода, покажите всё. Никто не курит что знаичт у меня. Ка кмне понять что там у ВАС )
Вы может где-то завтыкали или вообще 2 поинтера, глаз замыливаетсЯ мы люди. Делайте сниппет и бросайте тут адекватные глянут
источник

Y

Yury in Go-go!
А если совсем пичально то загуглите ошибку
источник

SP

Slava Pinchuk in Go-go!
Daniel Podolsky
переменная точность - это плавающая точка. чем больше целая часть - тем менее точно можно выразить дробную
а если это банк и бабло то тогда что грамотнее прмменить? мне не надо чтобы точность плавала... этоопасно , можно остаться без башки как минимум :D
источник

ВС

Владимир Столяров... in Go-go!
там был же тип как раз money
источник

DP

Daniel Podolsky in Go-go!
Slava Pinchuk
а если это банк и бабло то тогда что грамотнее прмменить? мне не надо чтобы точность плавала... этоопасно , можно остаться без башки как минимум :D
банк и бабло считают все в целочисленной математика, в микроцентах (везде, где я видел)

но для сатоши может потребоваться int128 (какового в go нет)
источник

АП

Александр Парамонов... in Go-go!
Slava Pinchuk
https://postgrespro.ru/docs/postgrespro/10/datatype-numeric

Вот чтото годное
но что такое переменная точность
вещественное число с переменной точностью это типа после 15-го символа не точно?
Там переменный размер в байтах
источник

SP

Slava Pinchuk in Go-go!
Daniel Podolsky
банк и бабло считают все в целочисленной математика, в микроцентах (везде, где я видел)

но для сатоши может потребоваться int128 (какового в go нет)
не благо я увалил от проектов с битками эфиром и прочим счастьем....
источник

SP

Slava Pinchuk in Go-go!
Daniel Podolsky
банк и бабло считают все в целочисленной математика, в микроцентах (везде, где я видел)

но для сатоши может потребоваться int128 (какового в go нет)
а можете бросит пример какой, куда копать , чтоыб не зарыться  вдебри. Что значит целочисленная математика. Даже кофе купит ьэто не всегад 2 целых долара, ка кже 2.99 ?
источник

Y

Yury in Go-go!
Slava Pinchuk
а если это банк и бабло то тогда что грамотнее прмменить? мне не надо чтобы точность плавала... этоопасно , можно остаться без башки как минимум :D
https://github.com/shopspring/decimal
Я этим для бабла пользуюсь
источник

SP

Slava Pinchuk in Go-go!
Yury
https://github.com/shopspring/decimal
Я этим для бабла пользуюсь
спасибо , я попробую .
источник

SP

Slava Pinchuk in Go-go!
Вопрсо 2: если приходит из банка XML SOAP то лучше перегнать большинство строк к тип текст ?
ка кграмотно, док нет , просто методом тыка в прцесс етестирования только могу узнать что в каждом поле приходит
источник

DP

Daniel Podolsky in Go-go!
Slava Pinchuk
а можете бросит пример какой, куда копать , чтоыб не зарыться  вдебри. Что значит целочисленная математика. Даже кофе купит ьэто не всегад 2 целых долара, ка кже 2.99 ?
$2.99- это 299000000 микроцентов. после операций результат округляется до центов, по каким-то интересным правилам, которых я не помню
источник

Y

Yury in Go-go!
Daniel Podolsky
$2.99- это 299000000 микроцентов. после операций результат округляется до центов, по каким-то интересным правилам, которых я не помню
лучше всетаки децимал. с проверкой суммы. (но децимал медленнее)
источник

RT

Rostislav Teryaev in Go-go!
Slava Pinchuk
https://postgrespro.ru/docs/postgrespro/10/datatype-numeric

Вот чтото годное
но что такое переменная точность
вещественное число с переменной точностью это типа после 15-го символа не точно?
это не не точно, а при операциях сложения умножения и тд происходят огругления. Ошибки накапливаются и в конечном итоге будут расхождения какие-нибудь. Например купил чего-то на 1р, а сняли 1.000000000001, а если таких операций много, то это уже беда.
Да и сравнивать такие числа через == не выйдет будет давать false на 1 == 1.00000000001.
Ну это для понимания ситуации
Чтобы с деньгами работать надо писать свои реализации типа. Не знаю как они выглядят внутри, но например хранит число в строке, а в строку хоть какие числа поместятся
источник

Y

Yury in Go-go!
Slava Pinchuk
спасибо , я попробую .
ридми читаните обязательно у либки. там написано как правильно производить операцию деления. это важно
источник

DP

Daniel Podolsky in Go-go!
Yury
лучше всетаки децимал. с проверкой суммы. (но децимал медленнее)
ну он лучше потому, что у нас конвертация из dec в bin и обратно там иначе. для целых это, впрочем, не очень важно
источник

Y

Yury in Go-go!
Daniel Podolsky
ну он лучше потому, что у нас конвертация из dec в bin и обратно там иначе. для целых это, впрочем, не очень важно
если работать с целыми и есть операции деления(умножения на не целое), то всё равно это надо почти при каждой операции нормальизовать это целое число, везде писать не варик, значит пишется либа для работы с этим, туда же добавляем конвертацию и получается тот-же децимал(ну пошти), только самосборный с возможными багами, которые выльются через пару лет в н-ную сумму
источник