Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / 0.0 или просто 0? / 11 сообщений из 11, страница 1 из 1
09.06.2019, 20:29
    #39824650
amadeus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0.0 или просто 0?
Некоторые, задавая константные значения нецелочисленным переменным, пишут: "variable := 0.0;" или "variable := 1.0". Есть под этим какое-то основание или это дань привычке?
...
Рейтинг: 0 / 0
09.06.2019, 20:46
    #39824654
Dmitry Arefiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0.0 или просто 0?
баг
...
Рейтинг: 0 / 0
09.06.2019, 20:56
    #39824656
amadeus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0.0 или просто 0?
Что же за баг?
...
Рейтинг: 0 / 0
09.06.2019, 21:39
    #39824664
Dmitry Arefiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0.0 или просто 0?
amadeusЧто же за баг?
Опс, пропустил НЕ (целочисленное).
Конечно для читаемости лучше писать с ".0". Лучше видно, что присваивается значение с плавающей запятой переменной типа с плавающей запятой.
...
Рейтинг: 0 / 0
09.06.2019, 22:18
    #39824679
Кроик Семён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0.0 или просто 0?
amadeus,

думаю, что это идет из-за унификации записи, чтобы не надо было думать в разных ситуациях. Поясню. Есть языки, в которых выражения 1.0*x и 1*x дадут разные значения. Т.к. там выражение приводится к тому же типу, что и предыдущий аргумент. И если он будет integer, то и всё выражение будет integer. Вот программисты что бы не думать каждый раз о нюансах, пишут сразу же указание компилятору, что это float. Пишут в виде точки
...
Рейтинг: 0 / 0
09.06.2019, 22:28
    #39824680
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0.0 или просто 0?
amadeus,

сталкивался с подобной проблемой при передачи значения в БД. Некоторые провайдеры для некоторых СУБД для типа decimal требуют наличие точки. Т.е. в строчке должно быть "2." таким образом, если на клиенте формируется строчка формулы, такое может иметь место...
...
Рейтинг: 0 / 0
09.06.2019, 22:51
    #39824682
Gator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0.0 или просто 0?
Это просто явное указание типа литерала. Целое или вещественное. чтобы не забыть через 10 лет, какого типа у тебя переменная.

И жалко, что в Delphi нет чисел с фиксированной точкой, вроде dec(30, 15)
...
Рейтинг: 0 / 0
09.06.2019, 23:04
    #39824685
amadeus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0.0 или просто 0?
Всем спасибо.
...
Рейтинг: 0 / 0
09.06.2019, 23:54
    #39824702
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0.0 или просто 0?
GatorИ жалко, что в Delphi нет чисел с фиксированной точкой, вроде dec(30, 15)В базе есть: currency.

Ну и конечно https://github.com/rvelthuis/DelphiBigNumbers
...
Рейтинг: 0 / 0
10.06.2019, 03:52
    #39824721
fraks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0.0 или просто 0?
Я иногда использую умножение на константу 1.0 что бы привести значение к вещественному типу.
В основном это когда значение integer хочу вывести через format() используя форматирование для вещестенных чисел, в частности, разбитие числа на триады, что бы проще было читать большие числа.

Как-то так:

Код: pascal
1.
2.
i := 1000;
WriteLn( format('Результат: %.0n', [ i * 1.0]) );


Код: plaintext
1.
Результат: 1 000
...
Рейтинг: 0 / 0
10.06.2019, 08:04
    #39824754
Exteris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0.0 или просто 0?
Некоторые БД вернут сильно разные результаты выполнения запросов -
Код: sql
1.
select 100/(1+20/100) from sometable

и
Код: sql
1.
select 100/(1+20.0/100) from sometable

.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / 0.0 или просто 0? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]