short int、long、float、double の使用問題の説明
2022-01-16 06:28:14
short int 短い整数 2バイト 値の範囲 -32768~32767
long long integer 4 bytes value range -2147483648~2147483647 float single precision 4 bytes value range -3.4*10(-38)~3.4*10(38)
倍精度倍精度8バイト値範囲 -1.7*10(-308) ~ 1.7*10(308)
AccessのデータをDBFにエクスポートする際に発生する問題です。DBFのフィールド幅は、Accessのフィールドが占めるバイト数ではなく、文字数です。DBFでは、整数や浮動小数点数は文字形式で保存されます。例えば、-3.134は"-3.135"として格納され、合計6文字を占めます。
そこで
Access の短い整数が、DBF ではフィールド幅 6 として格納される場合。
Accessの長整数の場合、DBFではフィールド幅11として格納されます。
Accessの単精度の場合、小数点以下7桁でDBFのフィールド幅18として格納されます。
Accessの倍精度の場合、DBFのフィールド幅24、小数点以下15桁として格納されます。
つまり、アクセスでの単精度、倍精度のデータは、DBFにダンプしても精度が保証されにくいのです。
long long integer 4 bytes value range -2147483648~2147483647 float single precision 4 bytes value range -3.4*10(-38)~3.4*10(38)
倍精度倍精度8バイト値範囲 -1.7*10(-308) ~ 1.7*10(308)
AccessのデータをDBFにエクスポートする際に発生する問題です。DBFのフィールド幅は、Accessのフィールドが占めるバイト数ではなく、文字数です。DBFでは、整数や浮動小数点数は文字形式で保存されます。例えば、-3.134は"-3.135"として格納され、合計6文字を占めます。
そこで
Access の短い整数が、DBF ではフィールド幅 6 として格納される場合。
Accessの長整数の場合、DBFではフィールド幅11として格納されます。
Accessの単精度の場合、小数点以下7桁でDBFのフィールド幅18として格納されます。
Accessの倍精度の場合、DBFのフィールド幅24、小数点以下15桁として格納されます。
つまり、アクセスでの単精度、倍精度のデータは、DBFにダンプしても精度が保証されにくいのです。
関連
-
Accessデータベースは、ソリューションを更新することはできません書き込むことはできません
-
1つのSQL実装で2つのテーブルを更新し、対応するフィールドの値を更新します。
-
アクセスデータベースは、フィールドを追加し、フィールドを変更し、SQLステートメントでフィールドを削除する
-
IPに基づきユーザーの都市にジャンプする手順
-
Accessでレポートをグループ化する際の問題を解決する
-
中国語Access2000クイックチュートリアル - 1.7 インデックスを作成する
-
Accessデータベースは、メソッドを解決するための難しさの開始以来
-
Accessのデータベースが「保存できない、他のユーザーによってロックされている」理由
-
Accessで指定日以前のレコードを選択する方法は?
-
INNER JOIN構文で複数のテーブルを結合してレコードセットを作成する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
アクセスでMSysObjectsのシステムテーブルを設定する方法
-
GridviewのButtonFieldのtextプロパティを取得する
-
アクセス文字列処理機能
-
ACCESSデータベースファイルの圧縮と修復方法[グラフィック]。
-
Accessでデータベースの内容を一括で置き換える2つの方法
-
中国語Access2000速習講座 - 1.6 "主キー "を定義する
-
レジストリを読み込んで、Officeのバージョンに応じたデータベース接続フィールドを取得します。
-
バックグラウンドのストアドプロシージャを呼び出すACCESSの実装方法
-
Access データベースで、OleDbException (0x80004005) が発生しました。操作は更新可能なクエリを使用しなければなりません
-
予約語・変数名リストへのアクセス