Javascript: Round by 100
Javascript: Round by 100
我正在尝试将一个数字四舍五入到100。
示例:
1340 should become 1400
1301 should become 1400
和
298 should become 300
200 should stay 200
我知道Math.round
,但它没有达到100。
我该怎么做?
原始答案
使用Math.ceil
功能,例如:
var result = 100 * Math.ceil(value / 100);
通用版本
这个函数可以概括如下:
Number.prototype.roundToNearest = function (multiple, roundingFunction) {
// Use normal rounding by default
roundingFunction = roundingFunction || Math.round;
return roundingFunction(this / multiple) * multiple;
}
然后您可以按如下方式使用此功能:
var value1 = 8.5;
var value2 = 0.1;
console.log(value1.roundToNearest(5)); // Returns 10
console.log(value1.roundToNearest(5, Math.floor)); // Returns 5
console.log(value2.roundToNearest(2, Math.ceil)); // Returns 2
或者具有自定义舍入功能(如银行舍入):
var value1 = 2.5;
var value2 = 7.5;
var bankersRounding = function (value) {
var intVal = Math.floor(value);
var floatVal = value % 1;
if (floatVal !== 0.5) {
return Math.round(value);
} else {
if (intVal % 2 == 0) {
return intVal;
} else {
return intVal + 1;
}
}
}
console.log(value1.roundToNearest(5, bankersRounding)); // Returns 0
console.log(value2.roundToNearest(5, bankersRounding)); // Returns 10
这里提供了一个运行代码的示例。
试试这个。。。
function roundUp(value) {
return (~~((value + 99) / 100) * 100);
}
这将四舍五入到下一个一百——101将返回200。
jsFiddle示例-http://jsfiddle.net/johncmolyneux/r8ryd/
打开控制台查看结果。
相关文章:
- Javascript:Round Half偶数后2位
- getDocument by id/get input text from button dons'不起作用
- Div and ul list side by side
- 无法设置属性'round'的未定义
- 计算器与数学.round与2小数
- TinySort sort by IDs
- Two input forms side-by-side programatically via JavaScript
- ngRepeat filter by array-property
- SQL应该查询's ORDER BY列写入JS代码中
- jQuery如何显示/隐藏Select by Select
- 为什么Java和Javascript Math.round(-1.5)到-1
- Math.round MidPointRounding.AwayFromZero in javascript
- angularjs:自定义直接中的绑定数据在使用“”后不再更新;track-by-;在ng重复中
- 使用Math.round的奇怪方法结果
- jquery increase by 1
- Angular edit by clicking on a tr
- Vue.js"track-by-$index”;,如何单独呈现列表项
- filtet data by checkbox using jquery ajax mysql and php
- xml.getelement by tag name无法正常工作
- Javascript: Round by 100