jjzjj

rounding

全部标签

javascript - 有没有办法在 Javascript 中 chop 科学记数法?

众所周知,因为它是SO上最常被问及的主题之一,所以我遇到了舍入错误的问题(这实际上不是错误,我很清楚)。我将不解释我的观点,而是举例说明我可能拥有的数字以及我希望能够获得的输入:假设vara=15*1e-9;alert(a)输出1.5000000000000002e-8我希望能够获得1.5e-8,但我不能只乘以10e8,舍入并除以10e8,因为我不知道它是e-8还是e-45或其他任何内容。所以基本上我希望能够获得1.5000002部分,应用toFixed(3)并放回指数部分。我可以转换成字符串并解析,但它似乎不对...有什么想法吗?(如果你觉得这是许多重复的问题之一,我提前道歉,但我找

javascript - 如何在 JavaScript 中为 Number.toFixed 编写原型(prototype)?

我需要使用JavaScript将小数四舍五入到六位,但我需要考虑旧版浏览器,所以我can'trelyonNumber.toFixedThebigcatchwithtoExponential,toFixed,andtoPrecisionisthattheyarefairlymodernconstructsnotsupportedinMozillauntilFirefoxversion1.5(althoughIEsupportedthemethodssinceversion5.5).Whileit'smostlysafetousethesemethods,olderbrowsersWILL

javascript - 使用javascript四舍五入小数

我需要使用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!但请记住,该值将作为字符

javascript - 在 JavaScript 中以 20(或 X)为单位四舍五入?

我有从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

javascript - 像 Javascript "round()"这样的 "Math.round()"的 Pythonic 方式?

我想要像Javascript一样(通过Math.round())以最Pythonic的方式对数字进行舍入。它们实际上略有不同,但这种差异会对我的应用程序产生巨大影响。使用Python3中的round()方法://Returnsthevalue20x=round(20.49)//Returnsthevalue20x=round(20.5)//Returnsthevalue-20x=round(-20.5)//Returnsthevalue-21x=round(-20.51)使用来自Javascript*的Math.round()方法://Returnsthevalue20x=Math.r

javascript - Firefox 和 Javascript 舍入规则

我不知道我是否遗漏了一些明显的东西,但是......在IE、Opera和Chrome中,我从以5结尾的舍入数字中得到了我期望的结果:125toPrecision(2)=>13011.5toPrecision(2)=>12这是我所期望的。不过,Firefox更“复杂”一点,产生以下内容:125toPrecision(2)=>120//wtf!!!11.5toPrecision(2)=>12经过一番摸索,我得出的结论是Firefox使用了“四舍五入”规则,如果5之前的数字是偶数,则数字向下舍入,如果5之前的数字是奇数数字四舍五入:0.5=>01.5=>22.5=>23.5=>4,etc.我

javascript - 在 JavaScript 舍入函数中硬编码 8191 10485 个值

我在一些遗留代码中看到了以下(奇怪的)Javascript舍入函数。谷歌搜索后,我可以看到它出现在网上的许多地方。但是,我无法弄清楚为什么会出现硬编码值8191和10485。有谁知道包含这些值是否有合理的理由?如果没有,希望我们能消灭模因!functionroundNumber(num,dec){varnewnumber=0;if(num>8191&&num 最佳答案 8191(0x1fff)在二进制表示方面可能很重要,但10485(0x28f5)似乎并不重要。我敢打赌,这是一种解决可感知的浮点舍入错误的技巧。float可能以不可预

javascript - 溢出 :hidden for rounded borders using css3pie in IE8?

我有这个HTML:和CSS:#micrositePhotoDiv{overflow:hidden;@includeborder-radius(10px);behavior:url(PIE.htc);}img的src在javascript中以编程方式设置。img设置为其包含的div的宽度。在ie9、firefox、chrome等中,这使得图片有圆Angular边框(因为图片的Angular在边框外,存在overflow:hidden;)在IE8中,图像没有圆Angular边框。border-radius属性生效(如果我执行border:solidblack1px;,我可以在图像后面看到它

javascript - 如何使比例四舍五入到# 的最接近倍数?

x.scale=d3.time.scale().domain(x.extent).range([0,dimensions.graph.width]);此代码使用x.extent([WedAug01201200:00:00GMT+0300(EEST),TueAug07201200:00:00GMT+0300(EEST)])和图形宽度(1000)以生成x值比例。但是,我需要将该值舍入到最接近的25的倍数(Math.round(x/25)*25)。通过这样做,我想实现精确的宽度刻度,现在定义为:x.axis=d3.svg.axis().ticks(d3.time.days,1).tickSi

javascript - Math.round 舍入误差

我想将1.006舍入到两位小数,期望输出为1.01当我做varnum=1.006;alert(Math.round(num,2));//Outputs1alert(num.toFixed(2));//Output1.01同样,varnum=1.106;alert(Math.round(num,2));//Outputs1alert(num.toFixed(2));;//Outputs1.11所以每次都使用toFixed()是否安全?toFixed()是否跨浏览器投诉?请给我建议。P.S:我尝试在堆栈溢出中搜索类似的答案,但找不到正确的答案。编辑:为什么1.015返回1.01而1.045