1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

0.9999999は1ではない

Posted at

0.9999999の恐怖

主にUnityについてのお話
バージョンは2017.4.1

0.9999999について

Unityでプロパティにアクセスした時やインスペクタで時々出てくる

0.9999999 == 1なのか?

結論から言うと1ではない
0.9999999… == 1であり0.9999999 != 1である

実例

UnityのスクロールビューのNormalizedPosition(スクロール位置)が1以上、つまり最大になったか判定をしようとした

if([ScrollRect].horizontalNormalizedPosition >= 1)
{
//何か処理
}

スクロールが1で止まる時と0.9999999で止まる時があった

まとめ

Unity的には0.9999999は1と認識している?
プログラム的には間違っているので、floatの判定をする時は気をつけたいところ

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?