2013年12月14日土曜日

開発環境

C実践プログラミング 第3版 (Steve Oualline (著)、 望月 康司 (監訳) (翻訳)、谷口 功 (翻訳)、オライリー・ジャパン)のⅡ部(単純なプログラミング)の16章(浮動小数点数)、16.12(プログラミング実習)、実習 16-2をDartで解いてみる。

その他参考書籍

実習16-2.

コード

sample.dart

import 'dart:html';
import 'dart:math' as math;

void main(){
  InputElement input1 = querySelector('#t0');
  InputElement input2 = querySelector('#t1');
  Element pre = querySelector('#pre0');
  input1.onKeyUp.listen((KeyboardEvent event){
    pre.text = window.navigator.userAgent + '\n';
    try{
      double a = double.parse(input1.value);
      int n = int.parse(input2.value);
      pre.text = '${toFixedDouble(a, n)}\n';
    } catch (e){
      pre.text += '$e\n';
    }
  });
}

double toFixedDouble(double a, int n){
  int pm = a >= 0 ? 1 : -1;
  int b = (a * math.pow(10, n + 1)).floor().abs();
  int m = b % 10;
  b ~/= 10;
  return pm * (m >= 5 ? b + 1 : b) / math.pow(10, n);
}















						

0 コメント:

コメントを投稿