T-Sql удаляют десятичную точку из типа данных money

В первую очередь для старых телефонов

Я столкнулся с ошибкой App not installed при попытке установить apk на моем телефоне, который работает на 4.4.2 aka KitKat, но мой друг не столкнулся с этой ошибкой на его телефон, который работает на 6+. Я пробовал другие решения, такие как удаление старой / отладочной версии приложения, поскольку apk была версией выпуска, очищала данные отладочного приложения и даже очищала все мои кэшированные данные. Затем, наконец, я понял, что все, что мне нужно было сделать, это выбрать обе версии подписи при создании моего подписанного apk.

Прежде чем я выбрал только V2 (Full APK Signature) , но после выбора V1 Jar Signature я смог успешно установить мой подписанный APK на моем устройстве 4.4.2. Надеюсь, это поможет другим!

9
задан Matt 25 November 2014 в 20:41
поделиться

5 ответов

Умножьтесь на 100 и затем преобразуйте в интервал.

7
ответ дан 4 December 2019 в 21:13
поделиться

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

0
ответ дан 4 December 2019 в 21:13
поделиться

Следует иметь в виду, что тип данных money может иметь до 4 цифр мимо десятичного числа. Значения больше чем с двумя цифрами не могли бы работать как ожидалось или на Ваше исходное решение или на прием x100.

0
ответ дан 4 December 2019 в 21:13
поделиться

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

DECLARE
@mon1 MONEY,
@mon2 MONEY,
@mon3 MONEY,
@mon4 MONEY,
@num1 DECIMAL(19,4),
@num2 DECIMAL(19,4),
@num3 DECIMAL(19,4),
@num4 DECIMAL(19,4)

SELECT
@mon1 = 100, @mon2 = 339, @mon3 = 10000,
@num1 = 100, @num2 = 339, @num3 = 10000

SET @mon4 = @mon1/@mon2*@mon3
SET @num4 = @num1/@num2*@num3

SELECT @mon4 AS moneyresult,
@num4 AS numericresult

Вывод: 2949.0000 2949.8525

3
ответ дан 4 December 2019 в 21:13
поделиться

Вот волшебство:

DataFormatString="{0:c0}

Это удалит десятичные разряды.

0
ответ дан 4 December 2019 в 21:13
поделиться
Другие вопросы по тегам:

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