WAGBY11 MANUAL / 03
整数・小数を扱う
数量、大きな件数、金額などに合った数値の型と表示方法を説明します。
最終更新日:
1. このページで伝える機能
小数を含まない数量や件数には整数、金額など小数を扱う値には固定小数点数を使います。大きな件数を扱う場合は64ビット整数を選べます。
扱う値の範囲と小数の桁数をAIに伝えることで、用途に合った型と入力欄を用意できます。
| 型 | 用途 | この例の項目 |
|---|---|---|
| integer(32ビット整数) | 通常の数量など | 数量 |
| long(64ビット整数) | 大きな件数など | 処理件数 |
| decimal(固定小数点数) | 金額・率など | 単価 |
2. Wagby11で実現できること
2.1 数量・大きな件数・小数を入力する
「数値」タブで、数量に12、処理件数に3000000000、単価に1250.50を入力しました。処理件数の30億は、32ビット整数の上限を超える値なので64ビット整数を使っています。

2.2 値の桁数と表示書式を分けて設定する
単価は全体12桁・小数部2桁で保存し、詳細画面では小数部を2桁表示する書式を指定しました。

小数の保存桁数と、画面での表示書式は別の設定です。数量に負数を許すか、金額に上限を設けるかなどは、入力チェックで指定します。
2.3 桁区切り表示と編集する値を切り替える
数値入力欄に表示書式を指定すると、入力欄を選んでいないときは桁区切りを付け、選んだときは元の値へ切り替えられます。次の「数値書式サンプル」では、単価を小数第3位まで保存し、表示は小数第2位までとしています。
単価に1234.567を入力し、ほかの欄を選ぶと1,234.57と表示されます。画面では小数第2位へ丸められますが、この表示のために保存する値が変わることはありません。

単価の入力欄を選ぶと、区切りのない1234.567に戻り、小数第3位まで編集できます。保存後に更新画面で開き直しても、入力欄を選ぶと元の値を確認できます。

2.4 桁区切り付きの値を貼り付ける
日本語・英語の表示では、1,234.567や-1,234.50のような、正しく区切られた数値を貼り付けられます。保存には区切りを除いた数値を使います。12,34のように区切り位置が不正な値や、数値以外の文字は入力エラーになります。
空欄は自動的にゼロへ変換されません。このサンプルの「任意金額」を空欄で保存すると、空欄のまま扱います。必須にした項目には通常どおり必須入力のチェックが働きます。
一覧・詳細画面や読み取り専用の数値にも表示書式が適用されます。書式を指定した数値入力欄には、ブラウザー標準の数値増減ボタンは表示されません。
3. AIへの指示例
最小限の指示例
受付情報に数量・処理件数・単価を入力できるようにしてください。単価は桁区切り付きで表示し、入力欄を選んだときは元の値を編集できるようにしてください。整数の範囲、小数の桁数、画面の表示書式はAIが類推して補います。大きな値を扱う場合や小数桁数が決まっている場合は、具体的な値も示すと条件が伝わります。例えば、AIが単価の保存桁数を2桁と判断する場合もあるため、小数第3位まで残したいときは、その意図も伝えてください。最小限の指示だけで以下と同じ仕様になるとは限りません。
より詳細な指示例
受付情報モデル(Entry)で、次の項目を標準機能で用意してください。
既存の主キー、権限、項目、データを保持し、必要なguide・referenceを確認してください。
・数量は32ビット整数、処理件数は64ビット整数にしてください。
・単価は固定小数点数で、全体12桁・小数部2桁にしてください。
・詳細画面の単価は小数部を2桁表示してください。
・3項目とも任意入力にしてください。
・数量12、処理件数3000000000、単価1250.50を登録し、保存後の値を確認してください。
モデルがまだない場合は、自動採番の受付IDを主キーとし、既存のG_ADMINロールに登録・参照・更新・削除を許可してください。
「受付管理」に「受付情報検索」の入口を用意し、一般利用者向け操作マニュアルも追加・更新してください。
設計情報の検証・コード生成・起動を行い、入力した値が保存後も確認できることを検証してください。表示と編集の切り替えを確認するサンプルを用意する場合は、次のように指示できます。
数値書式サンプル(NumberFormatSample)モデルを作ってください。自動採番のIDを主キーとし、サンプル名(sampleName、文字列80文字)、単価(unitPrice)、任意金額(optionalAmount)を用意します。
単価と任意金額は固定小数点数、全体12桁・小数部3桁で、任意入力にしてください。両方に表示書式「#,##0.00」と右寄せを設定します。
単価へ桁区切り付きの1,234.567を貼り付け、ほかの欄へ移ると1,234.57、単価欄を選ぶと1234.567になることを確認してください。任意金額は空欄のまま保存します。
保存後も単価は1234.567、任意金額は未入力であることを確認し、更新画面で単価欄を選んで元の値を確認してください。12,34のように不正な区切りの値が入力エラーになることも確認します。
既存のモデル・主キー・権限・データを保持し、Wagby11のguide・referenceを確認してください。利用者に応じた権限、メニュー、一般利用者向け操作マニュアルを用意し、生成・ビルド・起動後に検証してください。4. 編集されるAppSchemaの例
整数と小数の項目定義、および単価の表示書式の抜粋です。
entity:
attributes:
- { name: 数量, name_en: quantity, type: integer }
- { name: 処理件数, name_en: recordCount, type: long }
- name: 単価
name_en: unitPrice
type: decimal
precision: 12
scale: 2
ui:
fields:
- name_en: unitPrice
format:
pattern: '0.00'precisionは整数部と小数部を合わせた桁数、scaleは小数部の桁数です。format.patternは画面での表示を指定します。自動採番の主キーには、これらとは別のautoidを使います。
2.3節のサンプルでは、次のように保存は小数部3桁、表示は小数部2桁としています。
entity:
attributes:
- name: 単価
name_en: unitPrice
type: decimal
precision: 12
scale: 3
ui:
fields:
- name_en: unitPrice
format:
pattern: '#,##0.00'
presentation:
value:
align: end対応する数値書式を指定すると、入力欄の表示と送信する数値は分けて扱われます。表示書式は通常のREST APIの数値表現やダウンロード書式を変更しません。
5. 参考資料
- guide:エンティティ属性タイプ
designer/docs/appschema/html/guide/03-model/02-fields.html- reference:entity
designer/docs/appschema/html/reference/06-entity.html- guide:一覧・詳細の項目スタイルを設定する
designer/docs/appschema/html/guide/06-layout/11-output-style.html- reference:ui
designer/docs/appschema/html/reference/10-ui.html- guide:数値範囲チェック
designer/docs/appschema/html/guide/04-validation/06-number-range.html