2017-09-06 25 views
-2

私は非常に単純なことをやろうとしますが、floatとdoubleの2つの数値を乗算するだけです。私は、メッセージが浮かぶように、二重に変換することはできません取得...floatにdoubleを掛ける

float tax = 0f; 
tax = 0.14 * 26818; 
+1

あなたは質問をしていません。もちろん、ダブルをフロートに格納することはできません。 – harold

+0

その可能性は何ですか? – Tonny

答えて

1

ありがとう は実際に、あなたはその後、フロートに得られた二靴べらしようとしている、ダブル、整数を乗算しています。あなたが明示的にに必要とされるように

フロートはあなたがそう

:-)やっているのか知っているコンパイラに指示するキャストを倍未満の精度と範囲を持っている、あなたが行うことができ、次のいずれか

tax = (float)(0.14 * 26818); 

または(あなたがリテラルを使用している場合)だけで最初から山車で作業:として

tax = 0.14f * 26818; 
0

をは:

リテラル既定では、 割り当て演算子の右側にある実際の数値リテラルは、doubleとして扱われます。あなたにdouble値 を保存しようとしているので、したがって、 フロート変数を初期化する前の宣言で接尾辞を使用しない場合は、接尾辞FまたはF

を使用するには、 コンパイルエラーになりますfloat変数。

したがって、式を機能させるには、接尾辞を追加します。

tax = 0.14f * 26818; 

enter image description here

関連する問題