[解決済み] Ruby on RailsでNaNを処理する方法
2022-02-19 19:39:08
質問
に関するいくつかの投稿を読みました。
NaN
が、Ruby on Railsでこれをどのように扱うかはわかりませんでした。私は、ある値が
NaN
ゼロ(0)に置き換えたいのですが。
以下のように試してみました。
logger.info(".is_a? Fixnum #{percent.is_a? Fixnum}")
パーセントが
NaN
を実行すると、false が返されます。
ロガーにいくつかの変更を加えました。
logger.info("Fixnum #{percent.is_a? Fixnum} percent #{percent}")
出力
Fixnum false percent 94.44444444444444
Fixnum false percent NaN
Fixnum false percent 87.0
解決方法は?
NaN
のインスタンスです。
Float
. 使用方法
Float#nan?
メソッドを使用します。
>> nan = 0.0/0 # OR nan = Float::NAN
=> NaN
>> nan.class
=> Float
>> nan.nan?
=> true
>> nan.is_a?(Float) && nan.nan?
=> true
>> (nan.is_a?(Float) && nan.nan?) ? 0 : nan
=> 0
アップデイト
NaN
のインスタンスである可能性もあります。
BigDecimal
:
((nan.is_a?(Float) || nan.is_a?(BigDecimal)) && nan.nan?) ? 0 : nan
または
{Float::NAN => 0, BigDecimal::NAN => 0}.fetch(nan, nan)
関連
-
[解決済み】Rails。Ruby on Railsの移行でデータベースカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] Rubyのswitch文の書き方
-
[解決済み] Rubyで配列に値が存在するかどうかを確認する方法
-
[解決済み] Rubyからシェルコマンドを呼び出す方法
-
[解決済み] Rubyでnilとemptyとblankを理解する方法
-
[解決済み] Rubyのattr_accessorとは何ですか?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] Rubyで乱数を取得する方法
-
[解決済み] Ruby on RailsでJSON出力を "きれい "にフォーマットする方法
-
[解決済み】Railsの認証トークンを理解する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】bundle installが "Could not locate Gemfile "を返す。
-
[解決済み] サーバーに接続できませんでした。そのようなファイルまたはディレクトリがありません (PG::ConnectionBad)
-
[解決済み】コントローラでJSONをレンダリングする
-
[解決済み] Rubyの文字列から日付への変換
-
[解決済み] rspec 3 - クラスメソッドをスタブ化する
-
[解決済み] Rubyのクラスで未初期化の定数エラーが発生する
-
[解決済み] 検索 vs 発見する by vs どこに
-
[解決済み] Railsコントローラからホスト名を取得する
-
[解決済み] Railsはsaveでモデル内の検証をスキップしますか?
-
[解決済み] サーバーはRailsで既に稼働している