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

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

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

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

Q&A

解決済

3回答

271閲覧

PYTHON 指数・小数点の掛け算と引き算について

退会済みユーザー

退会済みユーザー

総合スコア0

Python

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

0グッド

0クリップ

投稿2018/05/05 12:26

お世話になります。
PYTHON 指数・小数点の掛け算と引き算について質問があります。
初歩的なことで大変お手数かけますがよろしくお願いします・

定義
a_price = 0
b_price = 0
p_price = 0

p_price = b_price - a_price など
独自計算処理を行った結果(ここは省略)出力すると

print ('a_price',a_price) print ('b_price',b_price) print ('p_price',p_price) print (1 - (a_price / b_price), 'パーセントです')

コンソールに以下のように出てしまいました。

a_price 3.344e-05 b_price 3.338e-05 p_price -5.999999999999604e-08 -0.0017974835230676334 パーセントです

とてもみにくいです。

"%f" % float_a_price で小数点にする事はできたのですが、

この場合、指数通しの
わりざん と ひきざん はどのようにプログラムを書けばいいのでしょうか?

例えば以下のように表示したいです。

a_price 0.00033 b_price 0.00066 p_price 0.00033 0.000010 円 50パーセントです

よろしくお願いします。

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

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

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

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

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

guest

回答3

0

ベストアンサー

python

1print ('a_price {:.5f}'.format(a_price)) 2print ('b_price {:.5f}'.format(b_price)) 3print ('p_price {:.5f}'.format(p_price)) 4print ('{:.1f}パーセントです'.format(a_price / b_price * 100))

投稿2018/05/05 12:42

gingertail

総合スコア317

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

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

退会済みユーザー

退会済みユーザー

2018/05/05 12:49

とても早く教えて頂きありがとうございました。大変助かりました。 一点質問です。小数点の数字がかなり重要なのですが、 例えば以下のように15桁で表示したとします。 a_price 0.000330000000000 b_price 0.000340000000000 p_price 0.000010000000000 今回のケースでは下6桁以下はゼロですけれど これが例えば0.32116549526555665 みたいになっていた時 a_price {:.15f}'.format(a_price)) こういう表記をしてもあくまで表示上の問題で a_price 自体の数値は 一切影響受けないと考えてよろしいでしょうか?
gingertail

2018/05/05 12:55

はい、あくまで表示上の問題で変数の中身は変わりません
退会済みユーザー

退会済みユーザー

2018/05/05 12:55

つまり数字がまるまってしまってなければOKです。
退会済みユーザー

退会済みユーザー

2018/05/05 12:55

ありがとうございました。とても助かりました。丁寧かつ確実で誠実な方及び回答でしたのでベストアンサーにさせて頂きます。今後ともよろしくお願いします。
gingertail

2018/05/05 13:00

こういうことでしょうかね formatを使っても変数の中身が丸められていないことを確認できると思います value = 0.123456789 print(value) print ('{:.5f}'.format(value)) print(value)
退会済みユーザー

退会済みユーザー

2018/05/05 13:07

そうです。そうです。いやぁ本当気持ちいい人ですね。ありがとうございます。
退会済みユーザー

退会済みユーザー

2018/05/05 13:08

0.123456789 0.12346 0.123456789
guest

0

わりざんとひきざんはそのままで、表示するところでformat関数を使ってあなたのお望みの表示となるようにしてください

投稿2018/05/05 12:39

y_waiwai

総合スコア87719

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

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

退会済みユーザー

退会済みユーザー

2018/05/05 12:54

ありがとうございました。
guest

0

わりざん と ひきざん

普通にやればいいです。%記法はあくまで出力形式の問題で、中身が変化しているわけではありません。

投稿2018/05/05 12:34

KojiDoi

総合スコア13669

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

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

退会済みユーザー

退会済みユーザー

2018/05/05 12:54

ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問