問題タブ [numbers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 人間が読める整数の表現を作成する
この種のものが好きな人のためのコーディングの問題があります。指定された整数の人間が読める文字列表現を返す関数の実装を (もちろん、選択した言語で) 見てみましょう。例えば:
- humanReadable(1) は「1」を返します。
- humanReadable(53) は「53」を返します。
- humanReadable(723603) は、「723,603」を返します。
- humanReadable(1456376562) は、「10 億 4 億 5600 万 3 億 76005 62」を返します。
特に賢い/エレガントなソリューションのボーナスポイント!
無意味な作業のように思えるかもしれませんが、この種のアルゴリズムには実際のアプリケーションが数多くあります (ただし、10 億もの数値をサポートするのはやり過ぎかもしれません :-)
perl - Perl で変数に数値があるかどうかを確認するにはどうすればよいですか?
指定された変数が数値かどうかを判断できる簡単な方法は Perl にありますか? 次のようなもの:
理想的でしょう。-w
スイッチが使用されているときに警告をスローしない手法は、確かに好まれます。
javascript - JavaScript で 10 進数を検証する - IsNumeric()
JavaScript で 10 進数を検証する最もクリーンで効果的な方法は何ですか?
ボーナスポイント:
- 明瞭さ。ソリューションはクリーンでシンプルでなければなりません。
- クロスプラットフォーム。
テストケース:
c - 8 進数リテラル: いつ? なんで?これまで?
コードで 8 進数を使用したことはありませんし、8 進数を使用したコードに出くわしたこともありません (16 進数とビットいじりにもかかわらず)。
私は 1994 年頃に C/C++ でプログラミングを始めたので、これには若すぎるのでしょうか? 古いコードは 8 進数を使用しますか? C では先頭に 0 を追加することでこれらのサポートが含まれていますが、これらの基数 8 の数値リテラルを使用するコードはどこにありますか?
algorithm - 単語として書かれた数字から値を読み取る方法は?
ご存知のように、数字は数字で書くことも、名前で呼ぶこともできます。123を123に変換する例はたくさんありますが、逆に変換する方法の良い例は見つかりませんでした。
注意点のいくつか:
- 枢機卿/名目または序数:「1つ」および「最初」
- 一般的なスペルミス:「40」/「40」
- 数百/千:2100->「二十百」そして「二千百」
- 区切り文字:「1125」だけでなく、「1125」または「1125」など
- 口語表現:「30代」
- 分数:「3分の1」、「5分の2」
- 一般名:「ダース」、「ハーフ」
そして、おそらくまだリストされていない可能性のあるより多くの警告があります。アルゴリズムが非常に堅牢である必要があり、スペルミスさえ理解している必要があるとします。
これらすべての書き方を学ぶために、どの分野/論文/研究/アルゴリズムを読む必要がありますか?情報はどこにありますか?
PS:私の最後のパーサーは、実際には英語、ロシア語、ヘブライ語の3つの異なる言語を理解する必要があります。そして、おそらく後の段階で、より多くの言語が追加されるでしょう。ヘブライ語には男性/女性の番号もあります。たとえば、「1人の男性」と「1人の女性」には異なる「1つ」があります—「ehad」と「ahat」。ロシア語にも独自の複雑さがいくつかあります。
グーグルはこれで素晴らしい仕事をしています。例えば:
(逆も可能ですhttp://www.google.com/search?q=999999999999+in+english)
c - 文字列が ANSI C の整数または浮動小数点数かどうかを判断する
ANSI C のみを使用して、C スタイルの文字列が整数または実数 (つまり、float/double) であるかどうかをかなり確実に判断する最良の方法は何ですか?
algorithm - フロートを人間が読める形式に変換する方法は?
あるとしましょう。0.33
出力する必要があります1/3
。
がある場合は0.4
、を出力する必要があります2/5
。
アイデアは、データをよりよく理解する方法として、ユーザーが「 yからxの部分」を理解できるようにすることです。
パーセンテージが良い代用であることは知っていますが、これを行う簡単な方法があるかどうか疑問に思いました。
perl - Perlで数値を複数の形式に変換するにはどうすればよいですか?
数値(たとえば1234567.89)を1.23Mのような読みやすい形式に変換できる簡単でわかりやすいメソッド/サブ/モジュールを知っていますか?
現在、いくつかの比較を行うことでこれを行うことができますが、私の方法には満足していません。
ご協力ありがとうございました!
java - Java での String から Int への変換 - 不良データの可能性が高いため、例外を回避する必要があります
Java には null 許容型がなく、TryParse() もないため、例外をスローせずに入力の検証をどのように処理しますか?
通常の方法:
正規表現を使用して解析可能かどうかを確認できますが、それも多くのオーバーヘッドのようです。
この状況を処理するためのベスト プラクティスは何ですか?
編集: 理論的根拠: 例外処理について SO について多くの議論があり、一般的な態度は、例外は予期しないシナリオにのみ使用する必要があるというものです。ただし、悪いユーザー入力はまれではなく、予期されていると思います。はい、それは本当に学問的なポイントです。
さらに編集:
一部の回答は、SO の何が問題なのかを正確に示しています。聞かれている質問を無視して、それとは関係のない別の質問に答えます。質問は、レイヤー間の移行について尋ねているのではありません。質問は、数値が解析できない場合に何を返すかを尋ねているわけではありません。ご存じのとおり、val = Integer.MIN_VALUE; この完全にコンテキスト フリーのコード スニペットが取得されたアプリケーションに最適なオプションです。