//小数精确计算
function add(value1,value2)
{
var num1=parseFloat(value1);
var num2=parseFloat(value2);
return yunshuan(num1,"+",num2);
}
function minus(value1,value2)
{
var num1=parseFloat(value1);
var num2=parseFloat(value2);
return yunshuan(num1,"-",num2);
}
function multiply(value1,value2)
{
var num1=parseFloat(value1);
var num2=parseFloat(value2);
return yunshuan(num1,"*",num2);
}
function divide(value1,value2)
{
var num1=parseFloat(value1);
var num2=parseFloat(value2);
return yunshuan(num1,"/",num2);
}
function yunshuan(a,how,b){//正确浮点运算
if(a.toString().indexOf(".") < 0 && b.toString().indexOf(".") < 0){//没小数
return eval(a + how + b);
}
//至少一个有小数
var alen = a.toString().split(".");
if(alen.length == 1){//没有小数
alen = 0;
}else {
alen = alen[1].length;
}
var blen = b.toString().split(".");
if(blen.length == 1){
blen = 0;
}else {
blen = blen[1].length;
}
if(blen > alen)alen = blen;
blen = "1";
for(;alen > 0; alen--){//创建一个相应的倍数
blen = blen + "0";
}
switch(how){
case "+":
return (a * blen + b * blen) / blen;
break;
case "-":
return (a * blen - b * blen) / blen;
break;
case "*":
return ((a * blen) * (b * blen)) / (blen * blen);
break;
default:
// alert("你要求的\t" + how + "\t运算未完成!");
return eval(a + how + b);
}
}
//alert(add(10000.01,10000.0091));
//alert(minus(10000.01,10000.0091));
//alert(multiply(2.25,2.25));
//alert(divide(4.80,4));
//小数保留 number 为小数,dec为保留的位数
function tofloat(number,dec) {
return number=number.toFixed(dec);
}
//alert(tofloat(10.025000,2));
//去左右空格
function trim(value){
return value.replace(/^\s+|\s+$/g,"");
}
//把百分数转化为小数
function percentTofloat(value){
value=value.replace(/^\s+|\s+$/g,"");
var num=value.indexOf('%');
alert(num+'///num');
value=value.substring(0,num);
alert(value+'//value//');
value=eval(value+"/"+100)
return value;
}
//获得当前日期格式如0000-00-00
function getNowDate(){
var now=new Date();
var year=now.getYear();
var month=now.getMonth();
month=month+1;
//alert(month+"month");
var day=now.getDate();
//alert(month.toString().length);
if(month.toString().length==1){
//alert(month);
month="0"+month;
}
if(day.toString().length==1){
//alert(day);
day="0"+day;
}
var value=year+"-"+month+"-"+day;
return value;
}
//获得当前日期格式如0000-00-00
function showdate(){
var today=new Date();
date=today.getDate();
month=today.getMonth();
month=month+1;
if(month<=9)
month="0"+month;
year=today.getYear();
var nowDate=year+'-'+month+'-'+date;
return nowDate;
}
//获得当地时间
function TimeDemo(){
var d, s="";
var c = ":";
d = new Date();
s += d.getHours() + c;
s += d.getMinutes() + c;
s += d.getSeconds() + c;
s += d.getMilliseconds();
return s;
}
/*判断两个标准格式日期的大小并返回较大的日期0000-00-00*/
function compareTwoDate(date1,date2){
date1=date1.substring(0,10);
date2=date2.substring(0,10);
if(date1<date2){
return date2;
}else if(date1>date2){
return date1;
}
return date1;
}
//得到某个日期N天之后的日期
afterDay=function(objDate,dayNum){
var arr=new Array;
//var objDate='2010-04-13';
objDate=objDate.substring(0,10);
//alert(objDate+"/obj/");
arr=objDate.split("-");
//alert(arr[0]+"==year");
//alert(Number(arr[1])+"==month");
//alert(arr[2]+"==day");
year=arr[0];
month=arr[1];
day=arr[2];
var dat = new Date(Number(year),Number(month)-1,Number(day));
var daysec=dat.getTime()+dayNum*24*3600*1000;
var tempdate=new Date(daysec).toLocaleString().split(" ")[0];//[)左闭右开
year=tempdate.substring(0,tempdate.indexOf("年"));
month=tempdate.substring(tempdate.indexOf("年")+1,tempdate.indexOf("月"));
if(month.toString().length==1){
month="0"+month;
}
day=tempdate.substring(tempdate.indexOf("月")+1,tempdate.indexOf("日"));
if(day.toString().length==1){
day="0"+day;
}
return year+"-"+month+"-"+day;
return tempdate;
}
JS工具类
最新推荐文章于 2024-07-06 14:21:23 发布