我需要使用小数。 在我的程序中,用户需要输入一个带小数的数字来转换该数字。
问题是:如果我尝试将参数转换为数字,我会得到一个没有小数的整数。
# ARGV[0] is: 44.33
size = ARGV[0]
puts size.to_i
# size is: 44
# :(
答案 0 :(得分:85)
答案 1 :(得分:7)
你也可以使用十进制类
JPanel bottomPanel = new JPanel();
bottomPanel.setLayout(new BoxLayout(bottomPanel,BoxLayout.X_AXIS));
更新:
使用bigdecimal作为@ bigtex777提到:
来源:http://ruby-doc.org/stdlib-2.2.2/libdoc/bigdecimal/rdoc/BigDecimal.html
答案 2 :(得分:5)
如果您希望通过计算获得更准确的答案,以避免出现类似https://www.codecademy.com/en/forum_questions/50fe886f68fc44056f00626c的错误,可以使用转换为小数 例子:
require 'bigdecimal'
require 'bigdecimal/util'
size = ARGV[0]
size = size.to_d
这应该使打印的数字变为小数,但是如果您想使其再次成为浮点数,只需再次将其放置到_f
size=size.to_f
puts size
答案 3 :(得分:1)
大写的转换方法是一种成熟的Ruby习惯用法。 See this great post from Advi Grimm
Integer("641339524823408659")
=> 641339524823408659