[解決済み] 数学演算子 *, /, +, -, ^ は0でない数を1に変換するのに使えるか?
2022-08-10 17:41:23
質問
私はソフトウェア (Oracle Siebel) で作業していますが、JavaScript の式は乗算、除算、減算、加算、XOR の演算子しかサポートしていません (
*
,
/
,
-
,
+
,
^
). 他の演算子、例えば
!
または
? :
が利用できます。
上記の演算子を用いて、ある数値が0でない場合は1に変換し、すでに0である場合は0のままにすることは可能でしょうか?数値は正でも0でも負でも構いません。
例
var c = 55;
var d; // d needs to set as 1
試しに
c / c
を試してみましたが、評価されるのは
NaN
と評価されるとき
c
が0である場合。
d
が0である必要があります。
c
が0である場合、0である必要があります。
cは通貨値で、最大で末尾2桁、先頭12桁になります。
をエミュレートしようとしているのです。
if
条件をエミュレートするために、数値を 0 または 1 のブール値に変換し、式の他の部分を乗算します。
どのように解決するのですか?
c / (c + 5e-324)
でうまくいくはずです。(定数
5e-324
は
Number.MIN_VALUE
であり、表現可能な最小の正の数です)。x が 0 の場合、それは正確に 0 であり、x が 0 でない場合 (技術的には、x が少なくとも 4.45014771701440252e-308 であれば、問題で許される 0.01 という最小の 0 でない数)、JavaScript の浮動小数点演算は不正確なので、答えは 1 以外のものになり、正確に 1 として表示されることになります。
関連
-
[解決済み] JavaScriptで文字列をbooleanに変換するにはどうしたらいいですか?
-
[解決済み] 文字列が有効な数値であるかどうかを確認するにはどうすればよいですか?
-
[解決済み] JavaScriptで浮動小数点数を整数に変換するには?
-
[解決済み] HTML5の数値入力のスピンボックスを非表示にすることはできますか?
-
[解決済み] JavaScriptで、数値が精度を失うことなく到達できる最も高い整数値は何ですか?
-
[解決済み] カンマ区切りの文字列を配列に変換するにはどうすればよいですか?
-
[解決済み] JavaScriptでクラスを定義するために使用できるテクニックと、そのトレードオフとは?
-
[解決済み] JavaScriptで画像をBase64文字列に変換するにはどうすればよいですか?
-
[解決済み] JavaScriptで数値を文字列に変換するのに最適な方法は何ですか?
-
[解決済み] Chromeのwebkitインスペクタで「Unsafe JavaScript attempt to access frame with URL...」というエラーが継続的に発生する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 配列からオブジェクトを生成する
-
[解決済み] チェックボックスが選択されているかどうかを確認するjQuery
-
[解決済み] Google maps API V3 - 同一地点に複数のマーカーを設置する。
-
[解決済み] ExtJS 4のイベントハンドリングについて
-
[解決済み] コールバック地獄とは何か、RXはそれをどのように、そしてなぜ解決するのか?
-
[解決済み] Reactメモを使うべきではない場合とは?
-
[解決済み] なぜjavascriptのES6 Promisesはresolve後も実行を継続するのですか?
-
[解決済み] JavaScript で `throw` の後に `return` をする必要がありますか?
-
[解決済み] これは純関数ですか?
-
[解決済み] 変異を伴わないオブジェクトからの値の削除