logo

ジュリアで小数点以下を切り捨てて整数に変換する方法 📂ジュリア

ジュリアで小数点以下を切り捨てて整数に変換する方法

概要

trunc関数を使うには、第一引数にIntを入れるだけだ。

コード

julia> @time for t in 1:10^8
           Int64(ceil(t/1000))
       end
  0.189653 seconds

julia> @time for t in 1:10^8
           trunc(Int64, ceil(t/1000))
       end
  0.128472 seconds

二つのループは全く同じ機能をするけど、1.5倍ほどの速度差がある。上はceilで小数点以下を切り捨ててInt64に型キャストしたんだけど、下はtrunc関数の内蔵機能を使ってネイティブに整数を返すから、より速いんだ。

他の言語を使ってた人には、上のループみたいなストレートな命令が自然に感じるだろうけど、Juliaにはデータ型を第一引数に入れて結果を返すような内蔵関数が多いから、下のループみたいな使い方の方が慣れると思うよ。

環境

  • OS: Windows
  • julia: v1.5.0