雷光さんによる「inputで電卓を作ったんですが・・・」というのがあり、
電卓を応用させて見ました。
screen 0,350,50 ;ウインドウIDを初期化そこで思ったんですが、intでは整数値のみ、あるいは実数値の小数点以下での
title "電卓" ;タイトルバーの文字表示を「電卓」にする *start clrobj ron="" : kan="" ;ron変数とkan変数を文字列に変換 objsize 50,20 ;オブジェクトのサイズを指定する。 pos 0,0:input ron, 150 ;input ron変数 pos 155,0:mes "?" ;計算記号の場所(下部のボタンで決める) pos 170,0:input kan, 150 ;input kan変数 pos 0,20:button"+",*agari ;+記号 pos 50,20:button "-",*agari ;−記号 pos 100,20:button "*",*agari ;×記号 pos 150,20:button "/",*agari ;÷記号 stop *agari ;結果↓ cls ;画面を初期化 clrobj ;オブジェクトを(全て)初期化 if (ron="")or(kan=""):dialog "数値を入力してください",1,"":goto *start ;何も書かれていない場合のエラー表示 ron=int(ron):kan=int(kan) ;整数値型変数に変換(5,6行目で文字列に変えているため、計算するために) if stat=2:ron+=kan ;+記号の場合の処理 if stat=3:ron-=kan ;−記号の場合の処理 if stat=4:ron*=kan ;×記号の場合の処理 if stat=5:if (ron=0)or(kan=0):dialog "計算できません",1,"":goto *start:else:ron/=kan ;÷記号の場合の処理 pos 0,0:mes "結果 【"+ron+"】" ;結果表示 button "もう一度",*start ;再計算 stop
計算で結果が得られます。
なので、実数値では計算が求められません。
で、intをdoubleに変え、どちらでも計算できるようにしたところ、
結果の値よりいらない小数点以下の0まで付いてきました。(12.5 → 12.500000)
これはどんな方法で切り捨てられるのでしょうか?