首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
Web 开发
JavaScript
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
js计算精度问题过长不准确怎么解决
[已结贴,结贴人:lyx320]
加为好友
发送私信
在线聊天
lyx320
等级:
发表于:
2008-05-14 14:45:34
楼主
各位高手,小弟有一很急的BUG需要解决,希望各位给的答案
我在项目中遇到这样个问题
在页面使用js作加法运算,可是数字长度太长,js运算不出来,我们传过来的数
都是20位的,好象js就不给你算了似的
希望各位帮个忙!!
有信誉,有满意答案一定给分,谢谢
问题点数:
100
回复次数:
13
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
s_liangchao1s
求学(思考才是进步的本质)
等级:
发表于:
2008-05-14 14:47:42
1
楼 得分:
0
精度不用像 直接截了
str.toFixed(2)//截取2位
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
lyx320
等级:
发表于:
2008-05-14 14:54:24
2
楼 得分:
0
我们是20位的数字,不确定前几位是一样的
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
s_liangchao1s
求学(思考才是进步的本质)
等级:
发表于:
2008-05-14 14:56:02
3
楼 得分:
20
JScript code
str.toFixed(
2
)
//
截取小数点后2位
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
lyx320
等级:
发表于:
2008-05-14 14:59:33
4
楼 得分:
0
我们不是小数,整数
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
s_liangchao1s
求学(思考才是进步的本质)
等级:
发表于:
2008-05-14 15:14:32
5
楼 得分:
0
那没办法啦 只能从业务上想办法了 JS的NUMBER型是有边界的
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
jayflee
等级:
发表于:
2008-05-14 15:15:04
6
楼 得分:
0
传到服务器端(java)计算。
用ajax 、隐藏的iframe或者其它的方式
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
wcwtitxu
痞子
等级:
发表于:
2008-05-14 15:15:43
7
楼 得分:
0
var a = 56574654238546688453;
var b = 46585321313224565464;
var c = a + b;
alert(c.toFixed(0));
c = a - b;
alert(c.toFixed(0));
c = a / b;
alert(c);
c = a * b * b * a * b * a * b * b;
alert(c + "\n" + c.toFixed(0));
还是能运算的, 精度不高而已
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
pla18sep
非耕農民\n(有问题要问,没有问题创造问题也要问~!)
等级:
发表于:
2008-05-14 15:19:59
8
楼 得分:
0
这么大的数,什么应用啊?
想个其他办法吧!
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
lyx320
等级:
发表于:
2008-05-14 15:35:13
9
楼 得分:
0
呵呵,这是网通客户定的,业务上是变不了,位数是改不了
哎,
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
chinmo
藏*无限
等级:
发表于:
2008-05-14 16:44:54
10
楼 得分:
0
定义为float行看看
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
chinmo
藏*无限
等级:
发表于:
2008-05-14 16:47:25
11
楼 得分:
30
实在不行就使用AJAX放后台运算!
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
muxrwc
潜水修行。。。
等级:
发表于:
2008-05-14 17:58:55
12
楼 得分:
0
晕.只有加法?
比如
222 + 999
拆开来算呢?
2 + 9
11
22 + 99
121
把超过的位数取出来
然后在和前面的做计算。。
1221
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
pla18sep
非耕農民\n(有问题要问,没有问题创造问题也要问~!)
等级:
发表于:
2008-05-14 21:23:47
13
楼 得分:
50
引用 12 楼 muxrwc 的回复:
晕.只有加法?
比如
222 + 999
拆开来算呢?
2 + 9
11
22 + 99
121
把超过的位数取出来
然后在和前面的做计算。。
1221
可解决,只是代价大了点,还是ajax后台解决比较好~!
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友