如何将整数四舍五入到最接近的十的倍数?我试过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的倍数,我
假设我们有一个包含整数的项目列表: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,这对软件用户来说有点奇怪。你会如何解决这个问题? 最佳答案
我觉得自己像个疯子。我想将所有分数四舍五入到最接近的整数。例如,67/30=2.233333333334。我想将其四舍五入为3。如果结果不是整数,我不想向下舍入,只会向上舍入。这就是我正在尝试的:puts67/30.to_f.ceil以下是我正在寻找的示例:67/30=350/100=12/2=1有什么想法吗?非常感谢! 最佳答案 问题是您当前正在30.to_f上调用ceil。以下是Ruby对其求值的方式:(67)/(30.to_f.ceil)#.ceilturnsthefloatintoanintegeragain(67)/(30
如果我有一个49.967的float并且我执行.to_i它将把它削减到49这对于我使用磁盘空间分析.967超过900mb的空间不会在显示中考虑。是否有将数字四舍五入到最接近的整数的函数,或者我必须像这样自己定义它:classFloatdefto_nearest_i(self+0.5).to_iendend这样我就可以做:>>5.44.to_nearest_i=>5>>5.54.to_nearest_i=>6 最佳答案 试试Float.round。irb(main):001:0>5.44.round=>5irb(main):002:0
如何在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
我正在编写一个脚本(使用JScript)来获取泵中油的压力,并将其显示在数字显示器上。问题是Pump输出的压力水平是Pascals,而数字显示器是打算用PSI来显示的(显示器上的位数限制为4,泵内油的压力水平是帕斯卡就像15位数字。)目前脚本很简单:varPump1_Digi:Demo3D.Visuals.BoxVisual=sender.FindChild("Pump1_Oil_Pressure_Digi");Pump1_Digi.Pressure_Num=sender.Pump1_Oil_Pressure;Pump1_Digi.PropertiesUpdated;Pump1_Dig
通过使用momentjs,当我想在当前时间上增加一小时时,我只想增加小时而不是分钟?所以时间03:25将是04:00而不是04:25(这是错误的)//belowincrease60minuteswhileIonlyneedtoroundtothenearesthour$('#eventTime').val(moment().add(1,'hours').format('HH:mm'));希望该解决方案在四舍五入到最近的月份(到达下个月的第一天)或年份等时也能工作...... 最佳答案 使用startOf方法:moment().sta
我有以下产品价格的输出数字:77.0818.1820.25无论价格是多少,我都想把它们四舍五入,所以在这种情况下的结果是:781921我试过这段代码,但它只是删除了整个数字:jQuery('.amount').each(function(){jQuery(this).html(Math.round(parseFloat(jQuery(this).html())));});知道问题出在哪里吗? 最佳答案 使用Math.ceil()代替Math.round():jQuery(this).html(Math.ceil(parseFloat
我需要使用javascript将小数值四舍五入到小数位。例如:16.181to16.1816.184to16.1816.185to16.1916.187to16.19我找到了一些答案,但大多数都没有将16.185舍入到16.19.. 最佳答案 (Math.round((16.185*Math.pow(10,2)).toFixed(1))/Math.pow(10,2)).toFixed(2);如果您的值是,例如16.199,正常回合将返回16.2...但是使用此方法您也会得到最后一个0,所以您会看到16.20!但请记住,该值将作为字符
我有从50开始到190结束的数字。步骤总是20-->50、70、90、....190现在我从一个文本文件中得到一个数字,它必须根据这个四舍五入。所以如果我得到55,它应该变成70,如果我得到77,它应该变成90。如果我得到90,它当然应该保持90。我知道如何做10步://55-->60number=Math.ceil(number/10)*10如何使用20步对我得到的数字进行四舍五入?谢谢! 最佳答案 如果您想以x为增量进行舍入,并带有偏移量:functionround(number,increment,offset){return