Секрет только в "/" (деление)
Если делить целое на целое, то выполняется целочисленное деление (div)
Для получения реального результата необходимо делимое преобразовать в тип REAL.
Это можно сделать несколькими способами:
1. Умножить делимое на 1.0, например, 10 * 1.0 / 3
2. Использовать преобразователь типов SQL:
cast(10 AS REAL)
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
|
|||
карма: 25 |
| ||
файлы: 1 | div_mod.rar [687B] [364] | ||
Голосовали: | zhorik5 |
Ответов: 16884
Рейтинг: 1239
|
|||
Разделить десятичное число на целую и дробную части
|
|||
карма: 25 |
| ||
файлы: 1 | split_decimal.rar [858B] [381] |
Ответов: 16884
Рейтинг: 1239
|
|||
Информационная строка
|
|||
карма: 25 |
| ||
файлы: 1 | infoDTSTRSQL.rar [957B] [395] |
Ответов: 107
Рейтинг: 0
|
|||
Tad, Спасибо!
|
|||
карма: 0 |
|
Ответов: 4631
Рейтинг: 749
|
|||
Tad, а в SQLlite число "1.0" трактуется как с плавающей точкой или как с фиксированной?
Редактировалось 1 раз(а), последний 2020-08-27 14:15:00 |
|||
карма: 26 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Netspirit, никогда не заморачивался таким вопросом.
Вообще-то SQLite написана на С++, а, как известно, фиксированная точка напрямую не поддерживается языками программирования, такими как C и C ++, хотя библиотеки для этой поддержки существуют. В авторском описании SQLite не встречал.
Редактировалось 3 раз(а), последний 2020-08-28 10:14:55 |
|||
карма: 25 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
От моего правнука.
|
|||
карма: 25 |
| ||
файлы: 1 | New_Year.rar [930B] [387] |
Ответов: 4631
Рейтинг: 749
|
|||
Tad писал(а): а, как известно, фиксированная точка напрямую не поддерживается языками программированияТо-есть, если число трактуется как с фиксированной точкой, то (10 * 1.0 / 3) даст не "3.3333333333..." с плавающей, а даст "3.3" с фиксированной. Редактировалось 2 раз(а), последний 2020-09-09 16:30:50 |
|||
карма: 26 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Netspirit,
Tad писал(а): В авторском описании SQLite не встречал. |
|||
карма: 25 |
|
9