You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用CAP CDS注解为表格字段添加格式化器并去除小数点

CAP CDS注解实现字段格式化与去除小数点

table img

一、为字段添加格式化器

在CAP中,可通过@UI.format注解为字段指定内置或自定义的格式化规则,适配不同数据类型的展示需求:

1. 内置样式格式化

针对常见数据类型(数字、日期、货币等),直接使用内置样式:

entity Orders {
  key ID : Integer;
  // 货币格式化
  orderAmount : Decimal(12,2) @UI.format : { style: "currency", currencyCode: "CNY" };
  // 自定义日期格式
  createDate : Date @UI.format : { pattern: "yyyy年MM月dd日" };
}

2. 列表项中指定格式化

如果仅需在UI表格(如Fiori列表)中应用格式化,可在@UI.lineItem里嵌套format配置:

entity Orders {
  key ID : Integer;
  total : Decimal(10,2) @UI.lineItem : [
    { position: 1, label: "总计", format: { pattern: "#,##0.00 元" } }
  ];
}

二、去除字段的小数点

根据需求不同,有两种常用实现方式:

1. 调整字段精度(从根源去除)

如果业务上不需要小数部分,直接修改字段的Decimal类型定义,将小数位设为0:

entity Products {
  key ID : Integer;
  // 无小数位的数字类型
  stockCount : Decimal(8,0);
}

2. 格式化展示时去除小数点

若字段本身需保留小数位,但UI展示时要隐藏小数点,使用@UI.format指定无小数的格式模板:

entity Products {
  key ID : Integer;
  // 存储有小数位,展示为整数(自动四舍五入)
  rating : Decimal(3,1) @UI.format : { pattern: "#0" };
}

如果需要强制截断小数而非四舍五入,可在投影视图中结合CDS函数处理:

view ProductListView as select from Products {
  ID,
  // 截断小数部分后展示
  floor(rating) as rating @UI.format : { pattern: "#0" };
}

内容的提问来源于stack exchange,提问作者lokesh kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 14:39:12