//小数精确计算
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工具类”的使用方法,并结合“bee.js”与“bee.min.js”这两个文件进行说明。 首先,“bee.js”和“bee.min.js”都是JavaScript工具类库的实现。其中,“bee.min.js”是经过压缩和优化...
"javascript.cs" 这个文件名暗示了这是一个用C#编写的JavaScript工具类。C#是一种面向对象的编程语言,常用于构建Windows应用程序和服务器端应用程序,包括ASP.NET Web应用。通过C#,开发者可以创建JavaScript库或...
该js工具类包含项目常用的字符长度判断,日期处理,数据类型和有效性的检验,以及各种可以直接用于项目的工具。
### three.js工具类知识点 #### 一、Three.js概述与模型加载 - **Three.js**:是一个基于WebGL的3D库,它简化了复杂的3D图形编程,并提供了丰富的API来帮助开发者创建交互式的3D应用程序。 - **模型加载**:在本...
在JavaScript编程中,工具...通过以上讨论,我们可以看出"js工具类 弹窗"是一个涉及HTML结构设计、CSS样式定制和JavaScript事件处理的综合实践。将弹窗功能封装为工具类,有助于提升代码的可重用性和项目整体的组织性。
银行卡号正则校验js工具类
### 封装JS工具类 #### 1. Echo 方法 该方法的功能是向客户端输出指定的消息。 ```csharp public static void Echo(string msg) { HttpContext.Current.Response.Write(msg); } ``` 通过`HttpContext.Current....
这里我们将深入探讨这些工具类在JavaScript中的应用。 **Base64**是一种用于在网络上传输二进制数据的编码方式。它将任意可打印字符转换为一个长度为4的字符序列,每个字符来自"ASCII可打印字符"集合,包括'0'-'9'...
JS生成QrCode的工具类,微信支付宝等支付URL可以用这个
里面是一些我常用的js工具类,以对象形式添加。包含了ES6语法,可修改。绝大部分有方法介绍。并不是特别全面,有需要的或者有什么好的方法可以告诉我,让我也学习一下。
JavaScript中的MD5加密工具类是用于对数据进行安全哈希的一种方法,广泛应用于密码存储、数据完整性校验等场景。MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能将任意长度的输入转化为固定长度的...
本资源是一个精心编写的JavaScript工具类函数库,包含了多种实用的日期处理、数值计算、字符串操作等工具函数。它提供了如日期格式化、天数判断、数组处理等功能,适用于前端开发中的各种场景。函数库采用ES6模块化...
真实项目中用到的javascript工具类,真实项目中用到的javascript工具类
MD5.js工具类是用于处理MD5加密的JavaScript库,主要应用于前端开发或者任何需要在浏览器环境中进行数据安全处理的场景。MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,能够将任意长度的数据转化为...
自定义javascript 工具类
dateUtil js工具类
mapUtil js工具类
easyUI开发时常用的超牛javascript工具类
在这个"OpenLayers 画点、线、及删除点、线 封装的js工具类"中,我们可以找到一系列实用的功能,方便开发者快速实现地图上的绘图和编辑操作。 首先,让我们详细了解如何在OpenLayers中绘制点和线: 1. **绘制点**...