как сохранить значение по Цельсию / Фаренгейту - PullRequest
0 голосов
/ 18 сентября 2011

Я работаю над приложением, в котором пользователь может хранить температуру. он может выбирать между градусами Цельсия / Фаренгейта

Теперь мой вопрос: каков наилучший способ сохранить значение? В полном собственном формате или в градусах Фаренгейта, точнее по Цельсию?

Просто потому, что 91.45F и 91.46F оба 33.03C, поэтому не имеет смысла сохранить в градусах Цельсия ..

Я не математик проф. и не знаю, какие другие пробники могут появиться. Так что я просто хотел бы спросить, есть ли у кого-то опыт, как обойти любая возможная проблема. Мне просто нравится сохранять значение в формате, так я могу быть уверен, что он всегда будет правильно пересчитан, какой формат Пользователь желает и введен ранее.

редактирование: Пользовательский ввод - всего 2 значения после запятой! edit2: до сих пор это выглядит наилучшим образом, кажется, всегда преобразовывать пользовательский ввод в градусы Фаренгейта и сохранять его с точностью до 5 значений после запятой. любая другая идея. в противном случае я бы скоро закрыл эту тему:)

Ответы [ 3 ]

1 голос
/ 18 сентября 2011

Расширяя сказанное Мэттом Боллом, вы должны помнить, что если вы выполняете какие-либо вычисления с сохраненным числом (помимо простого извлечения его), лучше хранить его как целочисленное значение, а не число с плавающей запятой. Поэтому, если вам нужна точность до сотен мест, сохраните захваченное значение как temp = captured_value * 100

1 голос
/ 18 сентября 2011

$ f = 91.45400000;

$ c = ($ f - 32) × (5/9);

$ f = ($ c × (9/5)) + 32;

Вы можете хранить значения с большим количеством десятичных знаков и просто отображать их с меньшим количеством .. Таким образом, вы сохраняете руководство.

эхо "Фаренгейт:". раунд ($ f, 2);

1 голос
/ 18 сентября 2011

Сохраните значение и единицы отдельно.

...