四舍五入的问题

guyong009 2003-08-20 09:06:48
在JavaScript中要对数据进行四舍五入,请问怎么办?
...全文
60 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
guyong009 2003-08-20
  • 打赏
  • 举报
回复
分会不会太少了点呀,呵呵
guyong009 2003-08-20
  • 打赏
  • 举报
回复
谢谢各位提了那么多好思路和方法,小弟马上试下,然后就结贴~~
  • 打赏
  • 举报
回复
<script>
function int(i)
{
//define variable
var ff=0;
var j;
j=Math.round(i)-i;
if (j>0)
ff=Math.round(i)-1;
if (j<=0)
ff=Math.round(i);
return ff;
}
function ge(){
var mm=g1.value;
g2.value=int(mm);
}
</script>

<input type="text" id=g1 value="9.8" onclick="ge()" onblur="ge()" onchange="ge()" onfocus="ge()">
<input type="text" id=g2 onfocus="ge()">
  • 打赏
  • 举报
回复
现在的就没有问题了。
<script>
function int(i)
{
//define variable
var ff=0;
var j;
j=Math.round(i)-i;
if (j>0)
ff=Math.round(i)-1;
if (j<=0)
ff=Math.round(i);
return ff;
}
function ge(){
var mm=g1.value;
g2.value=int(mm);
}
</script>

<input type="text" id=g1 value="9.8" onclick="ge()">
<input type="text" id=g2>
somecom 2003-08-20
  • 打赏
  • 举报
回复
jycjyc(jycjyc):
你这是取整,不是四舍五入哦!
Math.round(parseFloat(需要四舍五入的数据)*100)/100 这样是保留两位小数
Math.round(parseFloat(需要四舍五入的数据)*1000)/1000 这样就保留三位小数了,以此类推


业余程序员 2003-08-20
  • 打赏
  • 举报
回复
其实ROUND()不好用,你要好好去看一下函数啊,
用INT()就行了,
MY=INT(2.2)
MY=2

MY=INT(3.6)
MY=3

MY=INT(4.635)
MY=4


快给分啊,~~~~~~~~~~~~~接贴。。。
  • 打赏
  • 举报
回复
在JavaScript语言中无取整函数,我们可以自己动手编写一个。函数为程序设计人员提供了一个丰常方便的能力。通常在进行一个复杂的程序设计时,总是根据所要完成的功能,将程序划分为一些相对独立的部分,每部分编写一个函数。从而,使各部分充分独立,任务单一,程序清晰,易懂、易读、易维护。JavaScript函数可以封装那些在程序中可能要多次用到的模块。并可作为事件驱动的结果而调用的程序。从而实现一个函数把它与事件驱动相关联。这是与其它语言不一样的地方。

1、JavaScript函数定义

Function 函数名 (参数,变元){

函数体;.

Return 表达式;

}

说明:

 当调用函数时,所用变量或字面量均可作为变元传递。

 函数由关键字Function定义。

 函数名:定义自己函数的名字。

 参数表,是传递给函数使用或操作的值,其值可以是常量 ,变量或其它表达式。

 通过指定函数名(实参)来调用一个函数。

 必须使用Return将值返回。

 函数名对大小写是敏感的。
在有了上述简要函数知识后,我们来看看用四舍五入函数round( )实现取整函数的思路。如4.4四舍五入后为4,4.6四舍五入后便为5 。4-4.4=-0.4 而5-4.6=0.4,可见当一个自然数,它的小数部分>=0.5时,它的取整值为进行四舍五入运算后减一。当它的小数部分<0.5时,它的取整值便为四舍五入运算后的值。具体程序如下:
function int(I,k)
{
//define variable
var ff=0;
var j;
j=Math.round(I/k)-I/k;
if (j>=0.5)
ff=Math.round(I/k)-1;
if (j<=0)
ff=Math.round(I/k);
return ff;
}
  • 打赏
  • 举报
回复
直接这样就可以了,更简单
Math.round(需要四舍五入的数据)
guyong009 2003-08-20
  • 打赏
  • 举报
回复
在JavaScript中要对数据进行取整!
guyong009 2003-08-20
  • 打赏
  • 举报
回复
哎呀,不好意思,我刚才问错了,我要的是取整数部分,不是四舍五入,比如有2个数据,
2.4和2.8,取整后都要为2,这应该怎么做?
  • 打赏
  • 举报
回复
Math.round(parseFloat(需要四舍五入的数据)*100)/100 这样是保留两位小数
Math.round(parseFloat(需要四舍五入的数据)*1000)/1000 这样就保留三位小数了,以此类推
laers 2003-08-20
  • 打赏
  • 举报
回复
round()

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧