我有数字显示15.67789
我想只显示小数点后的两个数字(即15.67),而不做任何四舍五入的数字。
For example:
15.67789.toFixed(2)返回15.68
代替
我只想显示15.67
Using regex:
编辑:我修改了regex以接受没有小数点的数字和有一个小数点的数字(感谢@Mi-Creativity):
var num = 134.35324;
num.toString().match(/^(d*(.d{0,2})?)/)[0];
工作示例https://jsfiddle.net/yevwww8m/2/
使用substr
:
var num = 15.67789;
num = num.toString().substr(0,'15.67789'.indexOf('.')+3);
工作示例:https://jsfiddle.net/pmmy9o3r/
只是为了好玩,使用regex替换:
var num = 15.57789;
num = num.toString().replace(/^(d+.d{2}).*/g, '$1');
工作示例:https://jsfiddle.net/4eq3jd4e/
angular.module('app', [])
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app='app'>
<input type='number' ng-model='tex' />
{{tex|number:2}}
</body>
使用number
过滤器指定小数点后显示的位数
更新
简单地将数字乘以100移动小数点后两位,然后除以100
var nums = [15.67789, 101.62, 134.35324, 0.00658853, 0.002422, 4.27, 1.1095];
for (var i = 0; i < nums.length; ++i) {
var temp = nums[i] * 100;
temp = (('' + temp).split('.')[1] !== '99999999999994') ? (Math.floor(temp) / 100) : nums[i];
console.log(temp.toFixed(2));
}