質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

11969閲覧

PythonでDouble型は使用できますか?

ttdrop

総合スコア20

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/02/19 05:29

お世話になります。

元々Javaで実装されていたプログラムを、
Pythonを用いて実装したプログラムがあるのですが、
数字の型の違いにより(?)、小数点の計算結果に差異が出てしまっている状態です。

① Java :Double型
② Python:Decimal型

となっています。Decimal型の方がより小数点が長い計算となっているようです。
少数点の掛け算を複数回行っているため、徐々に差が大きくなってしまっています。

改修範囲の都合上、
②のプログラムを①に合わせたいのですが、
PythonでDouble型を使うことは可能でしょうか?

この①,②のプログラムは共存する必要があり、同様の処理を行っているのですが、
②のプログラムがなぜDecimal型で実装されたかなどの経緯が分からず。。

情報不足で申し訳ありませんが、ご指摘頂ければ幸いです。
宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Java の Double型は primitive 型の double をラップしてオブジェクトにしたもので、これに該当する型は Python では float になります。

decimal の 公式ドキュメント には「decimal — 十進固定及び浮動小数点数の算術演算」と書いてあるとおり、double とは異なるものですので、Java の Double 型の計算結果と同一にしたい場合は Decimal で実装されている箇所はすべて float に置き換える必要があります。
Java の double と Python の float は IEEE754 の浮動小数点規格に従っているので、計算結果が同一になることが保証されています。

32bit 浮動小数点数 (単精度)64bit 浮動小数点数 (倍精度)
C/C++言語floatdouble
Javafloatdouble
Pythonなし (外部ライブラリでは numpy の float32)float

投稿2019/02/19 05:34

編集2019/02/19 05:40
tiitoi

総合スコア21956

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

投稿2019/02/19 05:37

編集2019/02/19 05:42
cateye

総合スコア6851

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問