プログラム学習室 http://studyhallweb.com/

Dart言語: 計算処理

※2014年7月現在 IEでは動作しません。 Chromeで見てください。

切り上げ、切り捨て、四捨五入

数字を入力してください A =
切り上げ A.ceil() =
切り捨て A.floor() =
四捨五入 A.round() =

HTML

<h2>切り上げ、切り捨て、四捨五入</h2>
<div class="text1">
  数字を入力してください A = <input type="number" id="inp-01">
  <input type="submit" value="実行" id="btn-01"><br/>
  切り上げ A.ceil() = <output id="out-01-ceil"></output><br/>
  切り捨て  A.floor() = <output id="out-01-floor"></output><br/>
  四捨五入 A.round() = <output id="out-01-round"></output><br/>
  <br/>
</div>					

Dart

/**
 * 入力が数字であるか確認
 */
class inpChk {
  double chk(String s) {
    double d;
    RegExp exp = new RegExp(r'-?[0-9]+.?[0-9]*');
    if (s == exp.stringMatch(s)) {
      d = double.parse(s);
    } else {
      // 数字でないとき 1 に変換
      d = 1.0;
      window.console.log('input error');
    }
    return d;
  }
}

/**
 * 切り上げ、切り捨て、四捨五入
 */
class calcRound {
  double _dA;  // 入力値A

  InputElement _inpA = new InputElement();    // 入力 A
  InputElement _btnCalc = new InputElement();  // 実行ボタン
  // 結果出力
  OutputElement _outFloor = new OutputElement();
  OutputElement _outRound = new OutputElement();
  OutputElement _outCeil = new OutputElement();

  calcRound() {
    int iErr = 0;
    try {
      iErr = 11; _inpA = querySelector('#inp-01');
      iErr = 12; _btnCalc = querySelector('#btn-01');
      iErr = 13; _outCeil = querySelector('#out-01-ceil');
      iErr = 14; _outFloor = querySelector('#out-01-floor');
      iErr = 15; _outRound = querySelector('#out-01-round');
      _btnCalc.onClick.listen((e)=> _calc());
    } catch(e) {
      window.console.log('Element Catch Error : $iErr');
    }
  }
  _calc() {
    // 入力値
    inpChk inp = new inpChk();
    _dA = inp.chk(_inpA.value);

    // 計算実行
    _outCeil.value = _dA.ceil().toString();      // 切り上げ
    _outFloor.value = _dA.floor().toString();    // 切り捨て
    _outRound.value = _dA.round().toString();    // 四捨五入
  }
}
main() {
	calcRound runCalc1 = new calcRound();
}					

割り算の商と余り

数字を入力してください
A =
B =
A ÷ B = 商 … 余り

商は A ~/ B 、余りは A % B で求めることが出来る 。

HTML

<h2>割り算の商と余り</h2>
<div class="text1">
  数字を入力してください<br/>
  A = <input type="number" id="inp-02-A"><br/>
  B = <input type="number" id="inp-02-B">
  <input type="submit" value="実行" id="btn-02"><br/>
  A ÷ B = 商 <output id="out-02-Q"></output> … 余り <output id="out-02-R"></output><br/>
  <br/>
	商は A ~/ B 、余りは  A % B で求めることが出来る 。<br/>
</div>
					

Dart

/**
 * 入力が数字であるか確認
 */
class inpChk {
  ("切り上げ、切り捨て、四捨五入" と同じ)
}
/**
 * 商と余り
 */
class calcDivide {
  double _dA, _dB;  // 入力値A

  InputElement _inpA = new InputElement();    // 入力 A
  InputElement _inpB = new InputElement();    // 入力 B
  InputElement _btnCalc = new InputElement();  // 実行ボタン
  // 結果出力
  OutputElement _outQuotient = new OutputElement();   // 商
  OutputElement _outRemainder = new OutputElement();  // 余り

  calcDivide() {
    int iErr = 0;
    try {
      iErr = 21; _inpA = querySelector('#inp-02-A');
      iErr = 22; _inpB = querySelector('#inp-02-B');
      iErr = 23; _btnCalc = querySelector('#btn-02');
      iErr = 24; _outQuotient = querySelector('#out-02-Q');
      iErr = 25; _outRemainder = querySelector('#out-02-R');
      _btnCalc.onClick.listen((e)=> _calc());
    } catch(e) {
      window.console.log('Element Catch Error : $iErr');
    }
  }
  _calc() {
    // 入力値
    inpChk inp = new inpChk();
    _dA = inp.chk(_inpA.value);
    _dB = inp.chk(_inpB.value);

    // 計算実行
    _outQuotient.value = (_dA ~/ _dB).toString();    // 商
    _outRemainder.value = (_dA % _dB).toString();    // 余り
  }
}

main() {
  calcDivide runCalc2 = new calcDivide();
}
					

※数字以外を入力したときは 1 として計算しています