Если вы используете Python 2.7, простое решение состоит в том, чтобы просто округлить ваши float явно до нужной точности.
>>> sys.version
'2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)]'
>>> json.dumps(1.0/3.0)
'0.3333333333333333'
>>> json.dumps(round(1.0/3.0, 2))
'0.33'
Это работает, потому что Python 2.7 сделал float rounding более последовательным . К сожалению, это не работает в Python 2.6:
>>> sys.version
'2.6.6 (r266:84292, Dec 27 2010, 00:02:40) \n[GCC 4.4.5]'
>>> json.dumps(round(1.0/3.0, 2))
'0.33000000000000002'
Решения, упомянутые выше, являются обходными решениями для 2.6, но ни один из них не является полностью адекватным. Исправление Monkey json.encoder.FLOAT_REPR не работает, если ваша среда исполнения Python использует версию C модуля JSON. Класс PrettyFloat в ответе Тома Вуттке работает, но только если кодировка% g работает в глобальном масштабе для вашего приложения. % .15g немного мал, он работает, потому что точность float составляет 17 значащих цифр, а% g не печатает конечные нули.
Я потратил некоторое время, пытаясь сделать PrettyFloat, который позволил настроить точность для каждого номер. То есть, синтаксис, подобный
>>> json.dumps(PrettyFloat(1.0 / 3.0, 4))
'0.3333'
Не так-то просто. Унаследовать от float неловко. Наследование объекта и использование подкласса JSONEncoder с его собственным методом default () должны работать, за исключением того, что модуль json, по-видимому, предполагает, что все пользовательские типы должны быть сериализованы как строки. Т.е.: вы получаете строку Javascript «0.33» на выходе, а не цифру 0.33. Возможно, еще есть способ сделать эту работу, но это сложнее, чем кажется.
В студии управления SQL Server 2 008 goto Инструментов-> Опции-> Обозреватель объектов SQL Server-> Сценарии и Избранный "Сценарий для серверной версии" и изменения это к SQL Server 2005.
Рекомендуемое решение для изменения опций, кажется, корректно однако, оно все еще генерирует НАБОР ALTER TABLE (LOCK_ESCALATION = ТАБЛИЦА) на моей базе данных (я даже вставил режим эмуляции 90),
Я еще не использовал студию управления 2008 года, но в каждой предыдущей версии Вы смогли установить сценарии на определенную версию SQL Server в опциях где-нибудь.
У меня есть студийный набор управления 2005 года для генерации совместимых сценариев 2000 года по подобным причинам.