Как сохранить десятичные значения в SQL Server?

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

Это было бы полезно, потому что класс модульного теста не должен изменяться каждый раз, когда в сервис добавляется новая зависимость.

Ваш класс имеет ряд зависимостей, которые предоставляются через конструктор. Если вы пишете модульный тест, ваша цель - только протестировать этот зависимый класс, все зависимости должны быть проверены. Вот почему это называется юнит тестирование. Это означает, что с каждой новой зависимостью вашего класса тест должен обновляться путем добавления нового макета и его имитированного поведения.

Мокито нужно сказать, чтобы вызвать реальный метод. Вместо этого было бы предпочтительным фактическое внедрение службы.

Рассмотрим интеграционные тесты, в этом случае вы можете смоделировать только некоторое количество зависимостей, в то время как другие будут работать так, как задумано или «реально», пока вы, конечно, не будете имитировать их. Однако, если вы хотите просто избежать поддерживающих тестов, тогда это неправильный подход.

Пожалуйста, не пытайтесь взломать ваш проверенный класс на основании анализа. Это может привести к неверным результатам тестирования, пустой трате времени и общему разочарованию :) Библиотеки-насмешки, такие как PowerMock и JMockit, предоставляют любые виды хаков, например, те, которые вы пытались реализовать самостоятельно, и в целом они слишком мощные.

С великой силой приходит великая ответственность

266
задан pnuts 10 September 2015 в 22:31
поделиться

4 ответа

DECIMAL (18,0) позволят 0 цифр после запятой.

Вместо этого используйте что-то вроде DECIMAL (18,4) , что должно делать просто отлично!

Это дает вам всего 18 цифр , 4 из которых после десятичной точки (и 14 до десятичной точки).

501
ответ дан 23 November 2019 в 02:24
поделиться

Вы должны использовать следующее:

DECIMAL(m,a)

m - это общее количество цифр, которое может иметь ваше десятичное число.

a - максимальное количество цифр, которое вы можете иметь после десятичной запятой.

http://www.tsqltutorials.com/datatypes.php содержит описания для всех типов данных.

135
ответ дан 23 November 2019 в 02:24
поделиться

The settings for Decimal are its precision and scale or in normal language, how many digits can a number have and how many digits do you want to have to the right of the decimal point.

So if you put PI into a Decimal(18,0) it will be recorded as 3?

If you put PI into a Decimal(18,2) it will be recorded as 3.14?

If you put PI into Decimal(18,10) be recorded as 3.1415926535.

42
ответ дан 23 November 2019 в 02:24
поделиться

The other answers are right. Assuming your examples reflect the full range of possibilities what you want is DECIMAL(3, 1). Or, DECIMAL(14, 1) will allow a total of 14 digits. It's your job to think about what's enough.

3
ответ дан 23 November 2019 в 02:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: