10進数と16進数の変換

  1. <!DOCTYPE html>
  2. <html lang="ja">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>10進数と16進数の変換</title>
  6. <script type="text/javascript" src="jquery-1.5.1.min.js"></script>
  7. <script type="text/javascript" src="knockout-2.1.0beta.js"></script>
  8. <script type="text/javascript">
  9.   $(document).ready(function () {
  10.     ko.applyBindings(new viewModel());
  11.   });
  12.   
  13.   function viewModel() {
  14.     var self = this;
  15.     
  16.     // 10進数を16進数に変換
  17.     self.inputNum01 = ko.observable();
  18.     self.convertNum01 = ko.computed( function() {
  19.       if ( self.inputNum01() != undefined && self.inputNum01() != "" )
  20.       {
  21.         // 数値化(parseFloat())してから、16進数の表記に変換
  22.         return parseFloat(self.inputNum01()).toString(16);
  23.       }
  24.       else
  25.       {
  26.         return "";
  27.       }
  28.     }, this);
  29.     
  30.     // 16進数を10進数に変換
  31.     self.inputNum02 = ko.observable();
  32.     self.convertNum02 = ko.computed( function() {
  33.       if ( self.inputNum02() != undefined && self.inputNum02() != "" )
  34.       {
  35.         // 10進数の表記に変換
  36.         return parseInt(self.inputNum02(), 16);
  37.       }
  38.       else
  39.       {
  40.         return "";
  41.       }
  42.     }, this);
  43.   }
  44.   
  45. </script>
  46. <style type="text/css">
  47. th{
  48.   text-align:left;
  49.   background-color:#fff;
  50.   padding:3px;
  51. }
  52. .cap th{
  53.   text-align:center;
  54.   background-color:#e0e0e0;
  55. }
  56. td{
  57.   text-align:center;
  58.   padding:3px;
  59. }
  60. input{
  61.   width:50px;
  62.   text-align:center;
  63. }
  64. </style>
  65. </head>
  66. <body>
  67. <h1>10進数と16進数の変換:表示部は「knockout.js」</h1>
  68. <table border="1">
  69. <tr class="cap"><th>内容</th><th>元</th><th>結果</th></tr>
  70. <tr>
  71.   <th>10進数を16進数に変換</th>
  72.   <td><input type="text" data-bind="value: inputNum01" /></td>
  73.   <td><span data-bind="visible: convertNum01, text: convertNum01"></span></td>
  74. </tr>
  75. <tr>
  76.   <th>16進数を10進数に変換</th>
  77.   <td><input type="text" data-bind="value: inputNum02" /></td>
  78.   <td><span data-bind="visible: convertNum02, text: convertNum02"></span></td>
  79. </tr>
  80. </table>
  81. <div style="font-size:10pt;text-align:right;margin-top:0.5em;">
  82. <a href="//tips.recatnap.info/" target="_top">PCスキルの小技・忘却防止メモ</a> -
  83. <a href="//tips.recatnap.info/wiki/" target="_top">PCスキルの小技・忘却防止メモのまとめ(wiki)</a>
  84. </div>
  85. <div style="font-size:10pt;text-align:center;margin-top:0.5em;padding:0.5em;border-top:1px solid #ccc;">
  86. Copyright &copy; 2009 by PCスキルの小技・忘却防止メモ. All rights reserved.
  87. </div>
  88. </body>
  89. </html>