小数点の扱い
原案:小中富雄 氏 (2000/04/01 登録)
小数点の扱い
表示サンプル
ソース記述内容
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<title>小数点の扱い</title>
<script type="text/javascript">
<!--
//特定文字を削除する関数
function removeIt(original,target){
for(var i=0;i<target.length;i++){
var temp="";
var m=target.substring(i,i+1);
for(var j=0;j<original.length;j++) {
var ch=original.substring(j,j+1);
if (ch!=m) {
temp+=ch;
}
}
original=temp
}
return temp
}
function result(){
//冒頭や接尾に余分なゼロが入っていた場合、それを除去し、
//後の削除作業のため、文字列型に変換する
var left=parseFloat(document.f.left.value)
left=""+left
var center=parseFloat(document.f.center.value)
center=""+center
//小数点を除去してそれぞれ変数に代入する
var a=removeIt(left,".")
var b=removeIt(center,".")
//小数点の位置を求める
var x=left.indexOf(".")
x=(x==-1)?0:(left.length-1-x)
var y=center.indexOf(".")
y=(y==-1)?0:(center.length-1-y)
var result=parseFloat(a)*parseFloat(b)
//小数点を挿入し、結果を表示する
document.f.right.value=result/Math.pow(10,x+y)
}
// -->
</script>
</head>
<body>
<table border="0" align="center">
<tr>
<td>
<form name="f">
<input name="left" type="Text" size="20" maxlength="20" style="text-align:right">
X
<input name="center" type="Text" size="20" maxlength="20" style="text-align:right">
=
<input name="right" type="Text" size="30" maxlength="30" style="text-align:right">
<input name="Input" type="Button" value="push" onClick="result()">
<input name="Reset" type="Reset" value="reset">
</form>
</td>
</tr>
</table>
</body>
</html>