投稿
2015.07.12 【もしも】  切捨、四捨五入、切上命令がなかったら。  小数点を切捨、四捨五入、切上して、整数にせよの問題が与えられ、小数点桁指定はあり、切捨、四捨五入、切上命令がない場合どのように処理するか考えよう。
4そうだね
プレイ済み
返信[1]
親投稿
おおみの Omi-no-mino-398
1.数値をSTR$()で文字列に変換 2.INSTR()で小数点の位置を調べる 3.LEFT$()で小数点より左側(整数)の部分を取得しVAL()で数値に変換 4.小数点の右隣をMID$()で調べる 切上げ:(4)が0以外→(3)+1 四捨五入:(4)が5以上→(3)+1 切捨て、および上2つが偽のとき:(3)をそのまま
0そうだね
プレイ済み
返信[2]
親投稿
おおみの Omi-no-mino-398
訂正: 切上げは小数点より右側全部を見て0以外なら(3)+1 だから(4)は小数点より右側を全部取得して判定ですね。
1そうだね
プレイ済み
返信[3]
親投稿
otta777 otta777a
n OR 0で正数部を取り出せるのでそれを利用しました。
1そうだね
プレイ済み
返信[4]
親投稿
おおみの Omi-no-mino-398
あ、負の数のときはまた別の判定になりますね。 (3)+1を(3)+SGN(<整数部>)とすればいいのかな? 結構考えることが多い・・・。
1そうだね
プレイ済み
返信[5]
親投稿
otta777 otta777a
同じく負の数値の時の四捨五入、切り上げの処理が 考慮されていませんでした。ちょっと考えてきます。
1そうだね
プレイ済み
返信[6]
親投稿
otta777 otta777a
絶対値で処理をしたの後に符号を処理するように変更してみました。こうしてみるとこれらの関数があるのはありがたいですね。
1そうだね
プレイ済み