社区
JavaScript
帖子详情
alert(5.31-1.31),结果是多少?
Immoralism
2003-03-29 09:14:30
谁有解决办法?
在vbs中就没有这个问题
...全文
78
16
打赏
收藏
alert(5.31-1.31),结果是多少?
谁有解决办法? 在vbs中就没有这个问题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
心云意水
2003-03-30
打赏
举报
回复
啊!言重了,我也是不知道他要什么样的格式,所以偷懒没贴代码。
fason
2003-03-30
打赏
举报
回复
对不起.
fason
2003-03-30
打赏
举报
回复
完美方案是
<script>
function Number.prototype.Fixed(num){
with(Math){
var m=pow(10,Number(num))
return round(this*m)/m;
}
}
alert(c(56.10,23.12).Fixed(2));
function c(n1,n2){
var m=0,s1=n1.toString(),s2=n2.toString();
m=s1.split(".")[1].length
m=s2.split(".")[1].length
return (n1-n2).Fixed(m)//高版本可以用(n1-n2).toFixed(m)
}
</script>
心云意水
2003-03-30
打赏
举报
回复
啊!后边的代码错了。应该是:
<script>
Number.prototype.fix = function(num)
{with(Math)return round(this.valueOf()*pow(10,num))/pow(10,num);
}
alert((5.31-1.31).fix(2));
</script>
心云意水
2003-03-30
打赏
举报
回复
to: fason(阿信),什么叫想当然?
顶楼的又没有说要保留小数!我当然给他返回一个整数了!
想要保留小数也可以啊
toFixed(n)不就可以?不过对浏览器有版本要求而已
像没有版本要求就自己写!
比如:
<script>
String.prototype.fn = function(n)
{ s=""
for(i=0;i<n;i++)s+=this
return s
}
Number.prototype.fix = function(num)
{with(Math)return (round(this.valueOf()*pow(10,num))/pow(10,num)).toString().search(/\./i)==-1?(round(this.valueOf()*pow(10,num))/pow(10,num)).toString()+"."+"0".fn(num):(round(this.valueOf()*pow(10,num))/pow(10,num));
}
alert((5.31-1.31).fix(2));
</script>
上边的代码返回任意数的保留n位小数值,为了考虑货币的效果(xx.xx)形势,所以长了一点儿,因为4.00的格式是不能显示的(以数字方式),如果不用顾及那个用下边的就行
<script>
Number.prototype.fix = function(num)
{with(Math)return (round(this.valueOf()*pow(10,num))/pow(10,num)).toString().search(/\./i)==-1?parseFloat((round(this.valueOf()*pow(10,num))/pow(10,num)).toString()+"."):(round(this.valueOf()*pow(10,num))/pow(10,num));
}
alert((5.31-1.31).fix(2));
</script>
emu_ston
2003-03-30
打赏
举报
回复
0.31不能用二进制精确表示,不是js的问题。
秋水好久没出手了噢 :)
Iamfish
2003-03-30
打赏
举报
回复
确实是怪事。gz
fason
2003-03-30
打赏
举报
回复
楼上不要想当然
心云意水
2003-03-30
打赏
举报
回复
alert(Math.round(5.31-1.31))
fason
2003-03-30
打赏
举报
回复
那是IE的bug
Immoralism
2003-03-30
打赏
举报
回复
怎么没人来啊?
liubingqian
2003-03-30
打赏
举报
回复
这不是JavaScript的错
fason
2003-03-30
打赏
举报
回复
我觉得完美因为是秋水写的
qiushuiwuhen
2003-03-30
打赏
举报
回复
没有完美的,:p
<script>
function qswhSub(n1,n2){
var m1=0,m2=0,m;
try{m1=n1.toString().split(".")[1].length}catch(e){}
try{m2=n2.toString().split(".")[1].length}catch(e){}
m=Math.pow(10,Math.max(m1,m2));
return ((n1*m)-(n2*m))/m
}
alert(qswhSub(5.3,1.31))
alert(qswhSub(5.31,1.31))
</script>
或者用以前的版本qswhAdd,只是第二个参数要加负号
Estyle
2003-03-29
打赏
举报
回复
奇特的问题!关注,关注!
Immoralism
2003-03-29
打赏
举报
回复
up
JVectorMap地图插件的使用
JVectorMap地图插件的使用前言操作步骤 前言 因为项目中接触到地图图表的应用,在网上找了相关插件,发现有echarts,highchart等都可以实现。但为了方便,便选择使用JVectorMap,此插件是基于Jquery实现的,所以需要添加jquery的依赖支持 ,由于网上对此(JVectorMap)的使用资料比较少,大多描述都不够清晰,官网都是英文,对英语小白又不够友好,所以在此详细记录...
.net常见问题
1. 开发 1.1. 什么是微软 .net精简框架?1.2. 我需要什么工具才能开发.net精简框架的应用?1.3. 哪里可以下载最新的工具和相关软件?1.4. .net精简框架支持些什么设备?1.5. .net精简框架以后将支持什么设备?1.6. 调试程序时为什么会出现“与模拟器建立连接失败”的错误(刚开始执行程序的时候)?1.7. .net框架和.net精简框架之间有什么区别?1.8. .ne
Microsoft .NET Compact Framework 开发常见问题解答 【摘】
Posted on 2008-03-17 14:01 ILCW 阅读(653) 评论(0) 编辑 收藏 所属分类: .NET
JavaScript
87,910
社区成员
224,616
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章