質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

3回答

1419閲覧

整数と浮動小数点数 同じ??

cheeeeeeese

総合スコア179

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2015/10/28 11:33

皆様質問がございます。

0 = 0.0は同値でしょうか??

ちがいますよね、、

それではよろしくお願い申し上げます。

失礼致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

多くのプログラミング言語では、00.0は異なります。
ところが、プログラミング言語によっては、整数型が無い言語も有り、そういう言語では0と書いても0.0と書いたものとみなされます。そういう数値型として実数型だけがあるような言語では、同一です。
今時はあまりないと思いますが、数値に整数型しか無い言語では0.0は文法エラーになります。

00.0を区別する多くの言語に置いても、00.0を比較する場合は、整数の0は実数の0.0に自動変換されて0.0になり、それと0.0を比較するので比較結果は、「等しい」ということになります。
これも、言語によっては、「自動変換せず比較する」という比較方法を備えた言語も有り、そういう言語でそういう比較を行うと、「異なる」という結果になります。

ということで、結局、「言語による」と言うことになります。

投稿2015/10/28 12:55

otn

総合スコア84553

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

$ irb irb(main):001:0> 0 == 0.0 => true irb(main):002:0> 1 == 1.0 => true

ruby においては、 0 と 0.0 は同値ですね。( 1 と 1.0 も)

投稿2015/10/28 15:01

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

直接の回答ではありませんが、
javascript での比較演算子には == と ==== があります。

次の例は、ちょっと驚きますよね。

$ node > 0 == 0.0 true > 0 === 0.0 true > "" == 0 true > "" === 0 false

参考情報

...
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); // true

console.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
...

...
var data = "";

// 0でもマッチしてしまう!
if (data == 0) {
console.log("Match");
}

// これだとマッチしないからGood
if (data === 0) {
console.log("Match");
}

投稿2015/12/01 12:48

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問