解决方案 »
- 各位大哥帮帮忙、很急!
- microsoft virtual earth--如何在地图上突出显示一个指定经纬度的地点, 并同时在此地点上方出现悬浮框显示对应信息
- ext grid ColumnModel 外部css
- 过客达人请进,正则表达式问题,百分送上,非常感谢
- onload调用出错,在线等
- 我想实现的是,通过在这个popup窗口里面点击,实现对父窗口内TEXTAREA1当前光标处添加一些文字
- 如何实现这样的按钮效果?(在线等)
- 关于window.open的一个问题
- 怎样实现过3秒钟后一个页面自动跳转到另一个页面,送分
- 请高手进来呀。。困难度很高的。。。喜欢挑战的人进来。。
- 如何通过JS获取网页关键字并进行点击
- JS读取文本时,怎么判断到一行的结尾
我用的小数点位移,放个大概
function round(num, n) {
if (isNaN(num)) return 0;
num = num + "";
if (num.indexOf(".") < 0) return num;
var reg = new RegExp("\.([0-9]{" + n + "})"); //创建一个正则,匹配.02这种格式,小数点后位数自定义
num = num.replace(reg, "$1."); //把.02换成02.
alert(Math.round(num) / Math.pow(10, n));
}
有些验证还没加比如没有补位等等~暂时没发现太大的问题
var n = sNum.split('.');
//console.log(n);
if(n.length<2){return num;}
var s1 = n[0],s2='';
for(var i=0;i<n[1].length;i++){
if(i<dec){
s1+=n[1][i];
}else{
s2+=n[1][i];
}
}
//console.log(s1,s2);
return parseFloat(parseInt(s1)+Math.round(parseFloat('.'+s2)))/Math.pow(10,dec);}
/// 保留指定的小数位数[可选择是否使用四舍五入]
/// </summary>
/// <param name="source">源数据,传入的值不是number数据类型时将原样返回</param>
/// <param name="decimalPlace">需要保留的小数位</param>
/// <param name="isRoundUp">是否是舍五入[可选项:默认true]</param>
/// <returns>数据类型:Number(浮点数)</returns>
function toFloat(source,decimalPlace,isRoundUp){
if( typeof(source) != 'number' ){
return source;
};
decimalPlace = decimalPlace || 0;
isRoundUp = typeof(isRoundUp) == 'boolean' ? isRoundUp : !0;
source = isRoundUp
? (source*1).toFixed(decimalPlace)
: source.toString().replace(new RegExp("([0-9]+\.[0-9]{"+decimalPlace+"})[0-9]*","g"),"$1");
return source*1;
}
alert(toFloat(1.025,2,!1));
alert(toFloat(2.025,2,!0))
alert(toFloat(2.025,2));
/// <summary>
/// 保留指定的小数位数[可选择是否使用四舍五入]
/// </summary>
/// <param name="source">源数据,传入的值不是number数据类型时将原样返回</param>
/// <param name="digits">需要保留的小数位</param>
/// <param name="isRoundUp">是否是舍五入[可选项:默认true]</param>
/// <returns>数据类型:Number(浮点数)</returns>
function toFloat(source,digits,isRoundUp){
if( typeof(source) != 'number' ){
return source;
};
source = source + 1/Math.pow(10,source.toString().length-1);//往最后补一位
decimalPlace = digits || 0;
isRoundUp = typeof(isRoundUp) == 'boolean' ? isRoundUp : !0;
source = isRoundUp
? source.toFixed(digits)
: source.toString().replace(new RegExp("([0-9]+\.[0-9]{"+digits+"})[0-9]*","g"),"$1"); return source*1;}
alert(toFloat(1.025,2));
alert(toFloat(2.025,2));
decimalPlace = digits || 0;
应该是:
digits = digits || 0;