我的号码是15.67789
。
我想只显示小数点后的两个数字(即15.67),而不对数字进行任何舍入。
例如:
15.67789.toFixed(2)返回15.68
而不是
我只想显示15.67
。
答案 0 :(得分:1)
使用正则表达式:
编辑:我修改了正则表达式以接受没有小数位的数字和带小数点后一位的数字(感谢@ 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/
只是为了好玩,使用正则表达式替换:
var num = 15.57789;
num = num.toString().replace(/^(\d+\.\d{2}).*/g, '$1');
答案 1 :(得分:0)
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
过滤器指定小数点后显示的位数。
答案 2 :(得分:0)
<强>更新强>
只需将数字乘以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));
}
&#13;