私の Windows ベースのアプリでは、メートル法からインペリアルへの単位変換を行いました。これは、次のことを行う場合を除いて、理論的には機能します
-デフォルトの単位をインペリアルに設定
-数字を更新します(ここで、私の数字が1000インチに等しいとしましょう)
-デフォルトの単位をメートルに設定
-数字を更新します(私の数字が25400 mmに等しいとしましょう)
-デフォルトをインペリアルに戻す
-番号を更新します(ここに問題があります)
-- この時点では、数値が既にこれらの単位に含まれている場合、コードが変換されないため、数値は更新されません (必要に応じてコードを表示できますが、質問には必要ありません)。このバグを克服する最も簡単な方法は、数値の小数点第 4 位をメートル法の場合は 0、帝国の場合は 1 に変更することですが、ただ言うことはできません
number += 0.0001 or number -= 0.0001
変換中に 3452.823591384023840583 のような数値を取得できるため、この数値を使用して最初の小数点以下 3 桁のみを表示する3452.823
ため、この例では自分の数値を使用して小数点以下 4 桁を変更します (とにかく表示されないため) 0または1に変更します。これが私が欲しいものです...
1.234567 を使用して、小数点以下 4 桁目 (5) を変更し、必要に応じて 0 または 1 に変更します。今すぐ 0 を使用しましょう。これで、1.234067 という数値が得られます。この新しい数値を取得したら、if ステートメントで小数点以下 4 桁をチェックして、それが 0 か 1 かを確認できるようにしたいので、次のようにします。
if(number.getFourthDemialPlace() == 1) DO STUFF
さらに説明やコードが必要な場合は、喜んでお知らせします。