Loading

长小数在通过 UI 保存其值之前被四舍五入

发布日期: Jul 30, 2025
描述

超过大约 13 个小数位的长十进制字符串在浏览器中交互时会失去精度并被舍入。浏览器以不同的方式处理这种数字精度的损失,导致小数点舍入的变化。这是 Web 浏览器中 Javascript 数字对象的一个限制。

这种 Javascript 行为可以在 Salesforce 之外的浏览器中直接看到。例如,在 Chrome 中:

  1. 转至三个点 → 更多工具 → 开发者工具。将打开新的窗口。
  2. 在控制台下,键入 12.34689012345678,然后单击 Enter。
  3. 下一行将显示经过 Javascript 舍入后的数字:12.345678901234567


Screenshot 2023-06-19 at 4.51.57 PM.png

当在数字字段中输入值时,在开发人员控制台中也可以看到这种舍入。

这种行为是由 Javascript 处理数字的方式造成的,不是 Salesforce 可以控制的。如果通过 API 输入冗长的十进制字符串,通过 UI 与这些字段交互的用户可能会遇到 Javascript 舍入行为。通过 UI 保存这样的记录会将舍入值引入数据库。如果有任何 Salesforce 验证要求不更改数据库值,此舍入将被视为更改并触发验证。

可以通过 API,以比字段允许的最大小数位数更高的精度保存数字。有关更多信息,请参见数据类型数字字段可以存储比定义的更多的小数位数

 

 

 

知识文章编号

000394530

 
正在加载
Salesforce Help | Article