Как вы пишете число с двумя десятичными разрядами для сервера SQL?
sql
sql-server
decimal
number-formatting
Shiliang
источник
источник
Используйте
Str()
функцию. Требуется три аргумента (число, общее количество отображаемых символов и количество отображаемых десятичных знаков).отображает: «12345.679» (3 пробела, 5 цифр 12345, десятичная точка и три десятичных знака (679). - округляется, если необходимо усечь (если целая часть не слишком велика для общего размера, в этом случае вместо этого отображаются звездочки.)
Всего 12 символов, с 3 справа от десятичной точки.
источник
it rounds if it has to truncate
... если целая часть не слишком велика для общего размера, в этом случае вместо нее отображаются звездочки. Это упоминается в документации дляSTR
. Вот цитата с этой страницы:STR(1223,2) truncates the result set to **.
Как правило, вы можете определить точность числа в SQL, задав его с помощью параметров. В большинстве случаев это будет
NUMERIC(10,2)
илиDecimal(10,2)
- будет определять столбец как число с 10 цифрами с точностью до 2 (десятичных знаков).Отредактировано для ясности
источник
Эта работа для меня и всегда держит две цифры дроби
23,1 ==> 23,10
25,569 ==> 25,56
1 ==> 1,00
Скриншот кода
источник
Вот как дети делают это сегодня:
123,46
источник
DECLARE @test DECIMAL(18,6) = 0.456789
затемSELECT FORMAT(@test, '##.##')
возвращает:.46
Как вы получите, чтобы показать ведущий ноль0.46
:?Если вам нужно только два десятичных знака, самый простой способ это ..
ИЛИ
Вывод
источник
Если вы хорошо округлили число вместо его усечения, то это просто:
источник
Попробуй это:
источник
Умножьте значение, которое вы хотите вставить (например, 2.99) на 100
Затем вставьте деление на 100 результата, добавив 0,01 к концу:
источник
Это позволит всего 10 цифр с 2 значениями после десятичной дроби. Это означает, что он может вместить значение до десятичной цифры до 8 и до 2 после десятичной.
Для проверки введите значение в следующем запросе.
источник