如果我作出这样的简单的返回这样处理红宝石浮法像java
double example()
{
double i = 999999999;
return i;
}
双值的函数的输出将是:
例如()=> 9.99999999E8
我不不知道如何用红宝石获得它..有人可以帮助我吗?
如果我作出这样的简单的返回这样处理红宝石浮法像java
double example()
{
double i = 999999999;
return i;
}
双值的函数的输出将是:
例如()=> 9.99999999E8
我不不知道如何用红宝石获得它..有人可以帮助我吗?
要只是把它变成一个浮动,你可以使用to_f
,显示在科学记数法格式字符串会有所帮助:
>> 999999999.to_f #=> 999999999.0
>> "%E" % 999999999 #=> "1.000000E+09"
对于您的示例,请使用浮点文字而不是整数文字。也就是说,999999999.0型或9.99999999e8代替999999999如果它是一个变量,而不是(例如,x),使用x.to_f:
def f()
999999999.0
end
或
def f()
(999999999).to_f
end
就不可能获得相同的值作为java吗? (9.99999999E8),因为我需要从999999999获得确切的9.99999999E8 –
您是。 (999999999).to_f给出9.99999999E8。或者你的意思是这种格式? Ruby不同地显示数字。除了编写自己的格式化函数外,没有什么可以做的,因为没有改变它的选项。 – c4757p
是不可能获得与java相同的值? (9.99999999E8),因为我需要从999999999准确获得9.99999999E8 –
它只是以不同的方式显示。例如,(“%.7E”%999999999.0)显示“9.999999999E + 08”。我不知道是否有显示设置将E + 08更改为E8,但请在此处查看printf文档:http://linux.die.net/man/3/printf – c4757p