ホームページ > バックエンド開発 > Python チュートリアル > 精度を落とさずに Python で 10 進オブジェクトを JSON にシリアル化するにはどうすればよいですか?

精度を落とさずに Python で 10 進オブジェクトを JSON にシリアル化するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-27 13:21:13
オリジナル
414 人が閲覧しました

How Can I Serialize Decimal Objects to JSON in Python Without Losing Precision?

Python で Decimal オブジェクトを JSON にシリアル化する

Decimal オブジェクトを JSON 文字列にエンコードしようとすると、JSONDecoder が拒否するという問題が発生する可能性があります10 進数のオブジェクト。さらに、事前に Decimal オブジェクトを float に変換すると、精度が失われる可能性があります。

Simplejson を使用したソリューション

Simplejson バージョン 2.1 以降では、Decimal 型のネイティブ サポートが提供されます。デフォルトでは、Decimal オブジェクトは use_decimal パラメータが True に設定された文字列としてシリアル化されます。この機能を利用するには:

import simplejson as json

json_string = json.dumps(Decimal('3.9'))
# Output: '3.9'
ログイン後にコピー

標準ライブラリへの組み込み予定

この機能は将来 Python 標準ライブラリに組み込まれる予定であり、より多くの機能を提供します。 Decimal オブジェクトを JSON にシリアル化するための堅牢なソリューション。

以上が精度を落とさずに Python で 10 進オブジェクトを JSON にシリアル化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート