皆様質問がございます。
0 = 0.0は同値でしょうか??
ちがいますよね、、
それではよろしくお願い申し上げます。
失礼致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
ベストアンサー
多くのプログラミング言語では、0
と0.0
は異なります。
ところが、プログラミング言語によっては、整数型が無い言語も有り、そういう言語では0
と書いても0.0
と書いたものとみなされます。そういう数値型として実数型だけがあるような言語では、同一です。
今時はあまりないと思いますが、数値に整数型しか無い言語では0.0
は文法エラーになります。
0
と0.0
を区別する多くの言語に置いても、0
と0.0
を比較する場合は、整数の0
は実数の0.0
に自動変換されて0.0
になり、それと0.0
を比較するので比較結果は、「等しい」ということになります。
これも、言語によっては、「自動変換せず比較する」という比較方法を備えた言語も有り、そういう言語でそういう比較を行うと、「異なる」という結果になります。
ということで、結局、「言語による」と言うことになります。
投稿2015/10/28 12:55
総合スコア84553
0
直接の回答ではありませんが、
javascript での比較演算子には == と ==== があります。
次の例は、ちょっと驚きますよね。
$ node > 0 == 0.0 true > 0 === 0.0 true > "" == 0 true > "" === 0 false
参考情報
- Equality comparisons and sameness https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness
...
var num = 0;
var obj = new String("0");
var str = "0";
var b = false;console.log(num === num); // true
console.log(obj === obj); // true
console.log(str === str); // trueconsole.log(num === obj); // false
console.log(num === str); // false
console.log(obj === str); // false
console.log(null === undefined); // false
console.log(obj === null); // false
console.log(obj === undefined); // false
...
- JavaScriptにJavaのようなequalsメソッドを作成する http://fukaoi.org/2011/05/02/javascript_equals
...
var data = "";// 0でもマッチしてしまう!
if (data == 0) {
console.log("Match");
}// これだとマッチしないからGood
if (data === 0) {
console.log("Match");
}
投稿2015/12/01 12:48
総合スコア22324
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。