jjzjj

rounding

全部标签

ruby - 四舍五入到最接近的十分之一?

我需要四舍五入到最接近的十分之一。我需要的是ceil但精确到第一位小数。例子:10.38wouldbe10.410.31wouldbe10.410.4wouldbe10.4因此,如果超过整整十分之一,则应四舍五入。我正在运行Ruby1.8.7。 最佳答案 这通常有效:ceil(number*10)/10所以在Ruby中应该是这样的:(number*10).ceil/10.0 关于ruby-四舍五入到最接近的十分之一?,我们在StackOverflow上找到一个类似的问题:

ruby-on-rails - 一种向下舍入 Floats 的方法

Floatround向上或向下舍入。我总是需要它向下舍入。我有解决方案,但我不太喜欢它...也许有更好的方法。这就是我想要的:1.9999.round_down(2)#=>1.991.9901.round_down(2)#=>1我想出了这个解决方案,但我想知道是否有更好的解决方案(我不喜欢我将float转换两次)。已经有这个方法了吗?因为我发现我找不到它很奇怪。classFloatdefround_down(n=0)((self*10**n).to_i).to_f/10**nendend谢谢。 最佳答案 1.9999.to_i#=>

ruby - 为什么我的 BigDecimal 对象初始化时出现意外舍入错误?

在Ruby2.2.0中,为什么:BigDecimal.new(34.13985572755337,9)等于34.0但是BigDecimal.new(34.13985572755338,9)等于34.1398557?请注意,我在64位机器上运行它。 最佳答案 用字符串而不是float初始化一般来说,您无法通过float获得可靠的行为。您错误地使用Float值而不是String值初始化BigDecimals,这在一开始就引入了一些不精确性。例如,在我的64位系统上:float1=34.13985572755337float2=34.13

ruby - 一个更好的 Ruby 实现,将十进制舍入到最接近的 0.5

这看起来非常低效。谁能给我一个更好的Ruby方式。defround_valuex=(self.value*10).round/10.0#roundstotwodecimalplacesr=x.modulo(x.floor)#findsremainderf=x.floorself.value=casewhenr.between?(0,0.25)fwhenr.between?(0.26,0.75)f+0.5whenr.between?(0.76,0.99)f+1.0endend 最佳答案 classFloatdefround_point

Ruby 2.0 - 将整数舍入到最接近的 10 的倍数

如何将整数四舍五入到最接近的十的倍数?我试过integer.round(0.1)但它给出了最接近的decimal数字。示例:3应返回0,55应返回60。有没有一种方法可以四舍五入到最接近的10的倍数? 最佳答案 Integer#round具有功能。您将一个负数传递给round以表示您要四舍五入到哪个10位。例如:四舍五入到最接近的10:55.round(-1)#=>60四舍五入到最接近的100:550.round(-2)#=>600 关于Ruby2.0-将整数舍入到最接近的10的倍数,我

ruby - 四舍五入后总和不为100怎么办?

假设我们有一个包含整数的项目列表:USA:3peopleAustralia:2peopleGermany:2people如果我们计算每个值占整个列表总和的百分比,我们得到:USA:3/(3+2+2)*100=42.857...%Australia:2/(3+2+2)*100=28.571...%Germany:2/(3+2+2)*100=28.571...%如果我们四舍五入,我们得到:USA:43%Australia:29%Germany:29%总和43+29+29=101不是100,这对软件用户来说有点奇怪。你会如何解决这个问题? 最佳答案

ruby - 将 ruby float 向上或向下舍入到最接近的 0.05

我得到像这样的数字2.363636363636364.5675631.23456646544846510.5857447736我如何让Ruby将这些数字向上(或向下)舍入到最接近的0.05? 最佳答案 [2.36363636363636,4.567563,1.23456646544846,10.5857447736].mapdo|x|(x*20).round/20.0end#=>[2.35,4.55,1.25,10.6] 关于ruby-将rubyfloat向上或向下舍入到最接近的0.05

ruby - 你如何在 JRuby 中将 float 四舍五入到小数点后两位?

如何在JRuby(1.6.x)中将float四舍五入到小数点后两位?number=1.1164number.round(2)#Theaboveshowsthefollowingerror#wrongnumberofarguments(1for0) 最佳答案 (5.65235534).round(2)#=>5.65 关于ruby-你如何在JRuby中将float四舍五入到小数点后两位?,我们在StackOverflow上找到一个类似的问题: https://st

javascript - 具有 3 位小数的 toFixed(2) 的可靠 JS 舍入数

我只是想对1.275.toFixed(2)求和,我期望返回1.28,而不是1.27。使用各种计算器和四舍五入到最接近的百分位的简单方法,如果最后一位大于或等于五,则应该四舍五入。p>如果这不适用于toFixed(2),它会怎样?有人问console.log(1.275.toFixed(2))是否打印出1.28,这是MacOSChrome版本55.0.2883.95(64位)的快速截图 最佳答案 toFixed()方法的舍入不可靠(请参阅ÁlvaroGonzález'answer了解为什么会这样)。在当前的Chrome和Firefox

javascript - 数学四分之一

varnumber=0.08;varnewNumber=Math.round(number*4)/4//roundtonearest.25使用上面的代码,我可以四舍五入到最接近的.25。但是我只希望它四舍五入。借此:0.08=0.250.22=0.250.25=0.250.28=0.5这怎么可能? 最佳答案 您实际上想要做的是取输入的上限,但不是对整数进行运算,而是希望它对四分之一进行运算。我们可以在此处使用的一个技巧是将输入乘以4使其成为一个整数,然后将其提交给JavaScript的Math.ceil()函数。最后,将该结果除以4