Javascript提供了部分数字格式方法,但是提供的不是很完善,具体你可以看一下Number对象的使用,里面提供了对数字的一些格式化输出,几个函数如下:
toExponential([fractionDigits]) :将数字按科学计数法格式返回,其中的fractionDigits值小数点后保留的位数。
toFixed([fractionDigits]) :将数字按指定的小数点位数返回,其中的fractionDigits值小数点后保留的位数。
toPrecision([precision]) :将数字按指定的精度返回(这个精度不是指小数点后几位),其中precision是指定的精度值。
如果你不会使用上面的函数,我简单给你举个例子:
代码如下 | 复制代码 |
var num=56.45678; var rs1=num.toExponential(2);//rs1的值为5.65e+1 var rs2=num.toFixed(2);//rs的值为56.45 var rs3=num.toPrecision(2);//rs的值为56 |
javascript格式化二位小数代码.
代码如下 | 复制代码 |
function formatFloat(src, pos) { return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos); } alert(formatFloat("11111.2222", 2)); 例子 |
/**
* 数据格式化
*
* @param number 数字
* @param n 保留几位小数(n > 0)
*/
function numformat(number, n){
var number = Math.round(number * Math.pow(10, n)) / Math.pow(10, n);
number = number.toString();
代码如下 | 复制代码 |
if(number.indexOf('.') === -1){ return number + '.' + Math.pow(10, n).toString().substr(1); }else{ return number + Math.pow(10, (n - (number.length - 1 - number.indexOf('.')))).toString().substr(1); } } |
例子2
代码如下 | 复制代码 |
function number_format(s){ if(/[^0-9\.\-]/.test(s)) return "invalid value"; s=s.replace(/^(\d*)$/,"$1."); s=(s+"00").replace(/(\d*\.\d\d)\d*/,"$1"); s=s.replace(".",","); var re=/(\d)(\d{3},)/; while(re.test(s)) s=s.replace(re,"$1,$2"); s=s.replace(/,(\d\d)$/,".$1"); return s.replace(/^\./,"0.") } alert(number_format('-123456.789')); |
时间: 2024-10-27 19:49:11