js精度溢出解决方案

一般参数值不能超过16位。如果超出16都是用0替代,导致我们查询不到自己想要的结果。
遇到此问题我们做如下修改
自己写属性
原始的:


代码如下:

<a href="javascript:void(0)" onclick="toProject(<%=dr.getString("XFORM_ID"),<%=dr.getString("MODULE_ID")%>,<%=dr.getString("ID")%>)"><%=dr.getString("BT").trim()+"" %></a>

上面取出XFORM_ID,MODULE_ID,ID值的长度超过16

改过后的:


代码如下:

<a href="javascript:void(0)" tagFid="<%=dr.getString("XFORM_ID")%>" tagMid="<%=dr.getString("MODULE_ID")%>" tagIid="<%=dr.getString("ID")%>" onclick="toProject(this)"><%=dr.getString("BT").trim()+"" %></a>

代码如下:

toProject = function(e)
{
location.href="<%=path%>/form/"+e.tagFid+".xform?moduleId="+e.tagMid+"&Info_ID="+e.tagIid;
}

处理乱码


代码如下:

window.open(encodeURI(url),'_blank');

(0)

相关推荐

  • Javascript 浮点运算精度问题分析与解决

    分析 JavaScript 只有一种数字类型 Number ,而且在Javascript中所有的数字都是以IEEE-754标准格式表示的. 浮点数的精度问题不是JavaScript特有的,因为有些小数以二进制表示位数是无穷的: 十进制           二进制0.1              0.0001 1001 1001 1001 ...0.2              0.0011 0011 0011 0011 ...0.3              0.0100 1100 1100 1

  • js加减乘除丢失精度问题解决方法

    在javascript中,当你使用小数进行加减乘除运算时,你会发现,所得到的结果有时后面带有长长的一段小数,使运算变得复杂,并且影响计算结果.上网查询了一下原因,大致如下:在javascript中,带小数的数据运算时总会出现好多位小数.这是因为在javascript中浮点数的计算是以2进制计算的. 复制代码 代码如下: /** * 加法运算,避免数据相加小数点后产生多位数和计算精度损失. * * @param num1加数1 | num2加数2 */ function numAdd(num1,

  • javascript避免数字计算精度误差的方法详解

    如果我问你 0.1 + 0.2 等于几?你可能会送我一个白眼,0.1 + 0.2 = 0.3 啊,那还用问吗?连幼儿园的小朋友都会回答这么小儿科的问题了.但是你知道吗,同样的问题放在编程语言中,或许就不是想象中那么简单的事儿了.不信?我们先来看一段 JS. var numA = 0.1; var numB = 0.2; alert( (numA + numB) === 0.3 ); 执行结果是 false.没错,当我第一次看到这段代码时,我也理所当然地以为它是 true,但是执行结果让我大跌眼镜

  • JavaScript 浮点数运算 精度问题

    Js代码 复制代码 代码如下: <script type="text/javascript" language="javascript"> alert(1/3);//弹出: 0.3333333333333333 alert(0.09999999 + 0.00000001);//弹出: 0.09999999999999999 alert(-0.09999999 - 0.00000001);//弹出: -0.09999999999999999 alert(0

  • javascript 四则运算精度修正函数代码

    函数代码如下: 复制代码 代码如下: /* * 四则运算精度修正函数 * m 数值1(number) * n 数值2(number) * op 操作符(string) */ function fixMath(m, n, op) { var a = (m+ " "); var b = (n+ " "); var x = 1; var y = 1; var c = 1; if(a.indexOf( ". ")> 0) { x = Math.po

  • js计算精度问题小结

    复制代码 代码如下: //问题比如:7*0.8 JavaScript算出来就是:5.6000000000000005 //加法函数,用来得到精确的加法结果            //说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显.这个函数返回较为精确的加法结果.            //调用:accAdd(arg1,arg2)            //返回值:arg1加上arg2的精确结果            function accAdd(arg1, ar

  • 解决JavaScript数字精度丢失问题的方法

    本文分为三个部分 JS 数字精度丢失的一些典型问题 JS 数字精度丢失的原因 解决方案(一个对象+一个函数) 一.JS数字精度丢失的一些典型问题 1. 两个简单的浮点数相加 0.1 + 0.2 != 0.3 // true 这真不是 Firebug 的问题,可以用alert试试 (哈哈开玩笑). 看看Java的运算结果 再看看Python 2. 大整数运算 16位和17位数竟然相等,没天理啊. 又如 var x = 9007199254740992 x + 1 == x // ? 看结果 三观又

  • js精度溢出解决方案

    一般参数值不能超过16位.如果超出16都是用0替代,导致我们查询不到自己想要的结果. 遇到此问题我们做如下修改 自己写属性 原始的: 复制代码 代码如下: <a href="javascript:void(0)" onclick="toProject(<%=dr.getString("XFORM_ID"),<%=dr.getString("MODULE_ID")%>,<%=dr.getString(&quo

  • Android 使用帧动画内存溢出解决方案

    Android 使用帧动画内存溢出解决方案 最近在项目遇到的动画效果不好实现,就让UI切成图,采用帧动画实现效果,但是在使用animation-list时,图片也就11张,每张图片大概560k左右,结果内存溢出,崩溃 了,自己用了三张都崩溃:拿代码说: 1.anin_searh.xml <?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://

  • JS跨域解决方案之使用CORS实现跨域

    引言 跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是由于安全限制(同源策略, 即JavaScript或Cookie只能访问同域下的内容),因为我们在日常的项目开发时会不可避免的需要进行跨域操作,所以跨域能力也算是前端工程师的基本功之一. 和大多数跨域的解决方案一样,JSONP也是我的选择,可是某天PM的需求变了,某功能需要改成支持POST,因为传输的数据量比较大,GET形式搞不定.所以折腾了下闻名已久的CORS(跨域资源共享,Cross-Origin Resour

  • Android编程之内存溢出解决方案(OOM)实例总结

    本文实例总结了Android编程之内存溢出解决方案(OOM).分享给大家供大家参考,具体如下: 在最近做的工程中发现加载的图片太多或图片过大时经常出现OOM问题,找网上资料也提供了很多方法,但自己感觉有点乱,特此,今天在不同型号的三款安卓手机上做了测试,因为有效果也有结果,今天小马就做个详细的总结,以供朋友们共同交流学习,也供自己以后在解决OOM问题上有所提高,提前讲下,片幅有点长,涉及的东西太多,大家耐心看,肯定有收获的,里面的很多东西小马也是学习参考网络资料使用的,先来简单讲下下: 一般我们

  • JAVA内存溢出解决方案图解

    这篇文章主要介绍了JAVA内存溢出解决方案图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.在apache-tomcat-7.0.70\bin\catalina.bat(Linux 系统则在catalina.sh) 文件下的 echo Using CATALINA_BASE: "%CATALINA_BASE%" 上面插入以下代码 set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=256

  • JS ES6异步解决方案

    最初使用回调函数 ​ 由于最初j s官方没有明确的规范,各种第三方库中封装的异步函数中传的回调函数中的参数没有明确的规范, 没有明确各个参数的意义, 不便于使用. ​ 但是node中有明确的规范 ​ node中的的回调模式: 1. 所有回调函数必须有两个参数,第一个参数表示错误,第二个参数表示结果 2. 所有回调函数必须作为函数最后的参数 3. 所有回调函数不能作为属性出现 es6 异步处理模型 Es6 出现以后, 官方就提出了异步处理的规范, 提出了一种适用于所有异步场景的处理模型.该模型有:

  • JS跨域解决方案react配置反向代理

    跨域解决方案   jsonp(模拟get) CORS(跨域资源共享) 代理 iframe postMessage window.name WebSocket react的代理实现跨域 在配置在src/setupProxy.js文件,并通过npm安装http-proxy-middleware,代理中间件模块 创建 src/setupProxy.js 安装模块 npm i -S http-proxy-middleware    const {createProxyMiddleware: proxy}

  • SpringBoot全局配置long转String丢失精度问题解决方案

    web项目中,前端JS使用Java后端传过来的Long/long会丢失精度. 后端将返回的数据改为String使用即可 第一种 自己建个配置类 extends WebMvcConfigurerAdapter 已经被弃用,直接实现WebMvcConfigurer该接口就行了 @EnableWebMvc @Configuration public class WebDataConvertConfig implements WebMvcConfigurer { public void configur

  • JS长整型精度问题实例分析

    本文实例分析了一个JS长整型精度问题.分享给大家供大家参考.具体分析如下: 问题描述: 后台有一个脚本功能,可编写脚本动态调用Java代码 复制代码 代码如下: importClass(com.ztgame.center.controller.api,P360ApiController);  var roleId = 10214734953631045;  p360ApiController.notice(roleId, 4); 脚本执行成功,但运行结果与设定不一样,此人没有收到邮件 查看日志 

  • 详解js加减乘除精确计算

    JS无法进行精确计算的bug 在做CRM,二代审核需求审核详情页面时.需要按比例(后端传类似0.8的小数)把用户输入的数字显示在不同的地方. 在做dubheInvest = invest * (1 - ratio);运算时发现问题.具体如下: 示例代码: console.log( 1 - 0.8 ); //输出 0.19999999999999996 console.log( 6 * 0.7 ); //输出 4.199999999999999 console.log( 0.1 + 0.2 );

随机推荐