求一个用Javascript写的单位换算工具

JavaScript016

求一个用Javascript写的单位换算工具,第1张

你的程序不困难,但是你们老师那样的程序很不实用,做这样的作业容易把学生弄变态,我写了下面的例子程序,比他要求的程序更加简单和实用:

<script Language="JavaScript">

var rate=new Array(0.3048,1.0936133,3.7854118,0.4535924)

function cmpl(t,i,o)

{

o.value=rate[parseInt(t)]*parseFloat(i)

}

</script>

<form>

<select name=t onchange="cmpl(this.form.t.value,this.form.i.value,this.form.o)">

<option value=0>英尺到米

<option value=1>米到码

<option value=2>加仑到升

<option value=3>磅到千克

</select><br>

输入:<input type=text name=i value=1 onchange="cmpl(this.form.t.value,this.form.i.value,this.form.o)"><br>

输出:<input type=text name=o value='选择类型、输入数量即可换算' readonly><br>

</form>

建议你学习这样的例子,这这样的续期最好别用页面弹出方式进行输入和输出。

升是容积单位,吨是质量单位,之间没有直接关系,要通过密度才能建立关系

1升物体的质量 = 1L * ρkg/m³ = 1*10^-3 m³ * ρkg/m³ = ρ*10^-3kg = ρ*10^-6吨

//litre为升的数值,dentity为kg/m³单位的密度数值,函数返回值为字符串

function litreToTon(litre, dentity){

    return (litre * dentity).toFixed(2) + '*10^-6'

}

人民币写法小写转大写,数字转成汉字书写。

<%

function Money(thenumber)

dim Money,i,String1,String2,length,checkp'定义变量

dim one(),onestr()'定义数组

String1 = "零壹贰叁肆伍陆柒捌玖"

String2 = "万仟佰拾亿仟佰拾万仟佰拾元角分厘毫"

checkp=instr(thenumber,".")'判断是否含有小数位

if checkp<>0 then

thenumber=replace(thenumber,".","")'去除小数位

end if

length=len(thenumber) '取得数据长度

redim one(length-1)'重新定义数组大小

redim onestr(length-1)'重新定义数组大小

for i=0 to length-1

one(i)=mid(thenumber,i+1,1) '循环取得每一位的数字

one(i)=mid(string1,one(i)+1,1)'循环取得数字对应的大写

if checkp=0 then

'不含有小数的数据其数字对应的单位

onestr(i)=mid(string2,14-length+i,1)

else

'含有小数的数据其数字对应的单位

onestr(i)=mid(string2,15-length+i+len(thenumber)-checkp,1)

end if

one(i)=one(i)&onestr(i)'将数字与单位组合

next

Money=replace(join(one)," ","") '取得数组中所有的元素,并连接起来

Money=replace(Money,"零元","元")

Money=replace(Money,"零万","万")

Money=replace(Money,"零亿","亿")

Money=replace(Money,"零仟","零")

Money=replace(Money,"零佰","零")

Money=replace(Money,"零拾","零")

do while not instr(Money,"零零")=0

Money=replace(Money,"零零","零")

loop

response.write Money '显示结果

end function

%>