我正在採用二進制字符串並將其解碼爲浮點數組。我有那一部分想通了。如果是最後一位小數,紅寶石將切斷0十進制
我現在必須將該數組和格式化爲剩餘三位小數,並且舍入爲無。我所有的數字都是正確的,但無論出於何種原因,如果第三位小數點是0,那麼Ruby會將其切斷,我需要包含這些0。
例如:
預計:
3.480
我的輸出:
3.48
我如何可以截斷浮點數到小數點後三位,如果這個數字在0結束時,我怎樣才能保持零點不被切斷?
f.each_line do |line|
if first
first = false
else
a, b, c = line.chop.split(',')
# puts a,b,c
ay = Base64.decode64(c)
ay = ay.unpack('f*')
ay.each do |x|
temp = ((x * 1000).floor/1000.0) #error occurs here
puts temp
o.write(temp.to_s + ',')
end
end
end
f.close
數字不具有尾隨零:尾隨小數0不改變價值。代表它們的文本可能 - Ruby如何讓*格式化數字作爲字符串? (有很多重複的..) – user2864740