Каким типом нужно хранить дробные числа, если в дробной части одни нули

alpha

Новичок
Каким типом нужно хранить дробные числа, если в дробной части одни нули

Собсна в 5 часов утра туплю наверное.
В базе должны быть дробные числа, среди них есть числа вида 4.000, 343.00, 33.00000... где 0 - это значащие разряды, т.е. они должны выводиться так как есть. Так вот, если в типе не указаны M и D (DOUBLE(M, D)), то число просто сохраняется как целое(т.е. как 4), если же указать точность, то она дополнит нулями нехватающие значения. Как мне это исправить? Может я не тот тип выбрал(строкой что-ли хранить)? Что-то голова совсем не варит.
 

zerkms

TDD infected
Команда форума
чем отличается 4.00 от 4.000 с точки зрения твоего приложения?
может выделить отдельное поле и хранить число нулей после точки, а уже затем во время вывода форматировать в соответствии с этим значением?
 

alpha

Новичок
Lexx_DN, я ж говорю, что если так будет, а число будет 1.0, то в базе появится запись 1.00! а мне надо 1.0.

Zerkms. Да отличаются. Допустим есть число 4.0001
Но мне нужно вывести первые два разряда, т.е. 00, это точные разряды.Если так хранить, так ведь это же куча лишних действий. проверять все ли нули в дробной части считать их количество, заполнять строку справа нулями до него. И все это делать каждый раз. Придется наверное в varchar'e хранить (
 

Фанат

oncle terrible
Команда форума
а можно поинтересоваться, какой смысл в этих значащих разрядах?
 
Сверху