質問

2つの整数フィールドを含むテーブルを持つデータベースがあります。

パーセンテージ(FieldA /(Fielda + FieldB))を取得しようとすると、値は0です。

double percentage = fieldA+fieldB // WORKS; 5+5=10
double percentage = fieldA / (fieldA+fieldB) // DOES NOT WORK; 5+5=0
.

だからここでの問題は何ですか?ありがとう。

役に立ちましたか?

解決

fieldA / (fieldA+fieldB)を実行すると、5/10が得られます。これは、整数が0に切り捨てられるため、結果として0.5が必要な場合は、二重除算を実行する必要があります。 つまり、次のようなものです: ジェネラコディセタグプレ

他のヒント

私はfieldAfieldBを整数しますか?もしそうであれば、式の左側にあるものであっても、2つの整数が整数になることに注意する必要があります。

では、fieldAによって(fieldA+fieldB)を分割すると、値<1がゼロになります。

FIELDAとFIELDBは整数であるため、General Divisionの整数分割、この場合はGeneral DivisiCodeを使用することを意味し、整数分割はfieldA / (fieldA+fieldB)を使用することを意味します。

あなたはできるだけすることができます:

double percentage = (double)fieldA / (fieldA+fieldB);
.

操作を適用する前にフィールドを2倍にキャストする必要があるかもしれません

これを試してみてください:二重パーセント=(ダブル)フィールド/(ダブル)(フィールドア+フィールドB)

両方のフィールドが整数の場合、2つの整数を加算すると整数になります。 これを試してください

フロート結果=(フロート)((A * 100)/(B + A));

回答:結果= 50.0

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top