
No.1ベストアンサー
- 回答日時:
たいていの換算可能な単位は「単純に定数を掛けるだけ」で換算できますから、単位と換算定数の一覧を配列やリストで持っておけば事足ります。
個々の単位ごとに条件分岐をする必要はありません。なお、「m」→「kg」のように換算できない単位の関係もありますから、「換算できる単位はどれか」を示す情報も一覧に入れておくほうがよいでしょう。
ありがとうございます。初心者ということでご容赦いただければありがたいのですが「一覧を配列やリストで持っておけば」とは、どのような構文を指すのでしょうか?
換算できない単位については、タブページで区分けするレイアウトをしくつもりなので、大丈夫だとは思うのですが。
引き続き、ご教授いただければ幸いです。
No.2
- 回答日時:
#1のxcrOSgS2wYさんは、変換パターンをDB化することを薦めているいるのですよー
私もそれしかないと思います。
単純な作りとしては、2テーブルを用意
桁マスタテーブル
・桁ID(1,2,3,4・・・)[キー項目]
・桁名(mm,cm,m,km・・・)
変換パターンテーブル
・桁ID1(1,1,1,2,・・・)[キー項目]
・桁ID2(2,3,4,3,・・・)[キー項目]
・変換定数(10,1000,・・・)
で、IF分岐をするのではなく、変換定数を取得してあげれば、メンテナンスもしやすくなります。
ある程度理解してから、この以下を読んでください。
変換テーブルの記入方法は、パターンを絞り込むと、登録パターンを全部網羅する必要がなくなります。
[変換パターンテーブル]より
(1)桁ID1=1/桁ID2=4
が解れば
(2)桁ID1=4/桁ID2=1
の変換定数は、(1)の逆数です
(1)桁ID1=1/桁ID2=2の変換手数がα
(2)桁ID1=2/桁ID2=4の変換手数がβ
のとき、
桁ID1=1/桁ID2=4の変換手数はα×βです。
これらの法則を理解して登録パターンを減らすことができますが、コーディングがその分発生することになりますので、どちらがよいとも言えません。
テーブルを用意するという項目から、まずは勉強ししかるのちに下部のものをためしてみます。データベース化するという発想はありませんでした。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS CSS上での計算を行うためのルールについて教えてください。 3 2022/08/15 14:43
- 物理学 単位変換?次元解析?について質問です 1 2022/04/10 21:31
- 数学 56.5km∧2×24mm この計算の答えをcm∧3にしたいのですが、単位換算の仕方が分かりません。 3 2022/06/10 00:08
- 高校 横800ピクセル、縦600ピクセルのモノクロ画像のデータ量をバイト単位で答えなさい。 ただし、途中の 5 2022/05/01 17:02
- 会計ソフト・業務用ソフト 社会と情報 1 2022/05/01 16:57
- SQL Server SQL 期間内の実施数を合計したい 2 2023/03/03 22:28
- 会社・職場 残業代15分以下切り捨てについて 私の会社は残業代は15分単位でついており、15分以下は切り捨てにな 4 2023/02/16 22:41
- 大学・短大 大学 留年について 6 2023/06/21 20:17
- 工学 【制御工学】単位ステップ応答の遅れ時間の求め方(令和2年度の機械設計技術者試験(制御工学)の問題) 3 2022/11/02 10:51
- その他(形式科学) 有効塩素濃度をNaClO濃度に換算 1 2023/08/03 09:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#で文字列を数値に変換する方法
-
C++ 文字列変数と16進数の比較
-
16進をASCIIコードに変換する...
-
10進数を2進数
-
ASPでVBのFormat関数のような機...
-
型変換について (C++ Builder5)
-
16進コード文字列を文字列に変換
-
WORD型をCString型に変換する方法
-
VB6.0の「vbFromUnicode」はVB....
-
textbox.textやlabel.captionの...
-
VBA、nullをemptyに変換
-
『列名 '担当者CD' があいま...
-
2つ目のレコードの値を取得す...
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
SQLを発行とは?クエリの作成と...
-
accessでフィールド追加のあと...
-
手動または分散トランザクショ...
-
UPDATE時にSETしたい日本語文字...
-
VB.NETでのAccessテーブルリンク
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6.0の「vbFromUnicode」はVB....
-
VB.NETで1→A、2→B、26→Z、27→AA...
-
16進をASCIIコードに変換する...
-
WORD型をCString型に変換する方法
-
10進数を2進数
-
C#で文字列を数値に変換する方法
-
16進コード文字列を文字列に変換
-
VC++ std::stringからLPCWSTRに...
-
【C++/CLI】int型からString型...
-
Boolean型変数の値を反転する方法
-
型変換について (C++ Builder5)
-
文字型を日付/時刻型に変換する...
-
textbox.textやlabel.captionの...
-
ASPでVBのFormat関数のような機...
-
VB6.0 String型→Long型変換方法...
-
Excelの数字(文字列)合計につい...
-
2進数から10進数へ変換
-
vb6の桁数指定
-
n進数の値を10進数の値に変換す...
-
数字→漢数字変換
おすすめ情報