有沒有辦法在Julia中將浮點數轉換爲int?我試圖將浮點數轉換爲一個固定的精度數,小數部分表示爲8位整數。爲了做到這一點,我需要截斷只數的小數部分,我想這樣做是從浮點X減去X的轉化整數的最佳途徑:在Julia Lang中將float轉換爲int
x = 1.23455
y = x - Int(x)
println(y)
Y = 0.23455
有沒有辦法在Julia中將浮點數轉換爲int?我試圖將浮點數轉換爲一個固定的精度數,小數部分表示爲8位整數。爲了做到這一點,我需要截斷只數的小數部分,我想這樣做是從浮點X減去X的轉化整數的最佳途徑:在Julia Lang中將float轉換爲int
x = 1.23455
y = x - Int(x)
println(y)
Y = 0.23455
我認爲你正在尋找floor
:
julia> x = 1.23455
1.23455
julia> floor(x)
1.0
julia> y = x - floor(x)
0.23455000000000004
從v0.6開始,請注意' floor'不是'Int64'類型,而是按照例子'Float64':'test = ceil(0.2); typeof運算(測試)' – jjjjjj
這可能是你正在尋找trunc
。這取決於你的小數部分是什麼意思。這是trunc
和floor
之間的區別:
julia> trunc(Int, 1.2)
1
julia> trunc(Int, -1.2)
-1
julia> floor(Int, 1.2)
1
julia> floor(Int, -1.2)
-2
您提供行不通的代碼,因爲'INT(X),除非'x'是一個整數形式爲'會返回一個'不精確error' 'Float64',例如'1.0'或'-44.0'。另外,根據這個問題,我不能說出你究竟是什麼。你的措辭使得它聽起來像你想要的'Float64'的小數部分,表示爲'Int8'。這是正確的嗎?這是一個奇怪的要求,特別是考慮到你的示例編號爲1.23455,小數部分爲Int64,它的值爲23455,但這顯然太大而不能表示爲Int8。 –
此外,似乎你可以使用舍入函數。所有這些函數接受用於轉換的目標類型:http://docs.julialang.org/en/release-0.5/manual/mathematical-operations/#man-rounding-functions – amrods